Ilya Lavrenov
e3d23918fa
added cv::normalize to T-API; implemented missed UMat::copyTo with mask
2013-12-23 19:17:35 +04:00
Roman Donchenko
3c4b24d531
Merge remote-tracking branch 'origin/2.4' into merge-2.4
...
Conflicts:
CMakeLists.txt
modules/highgui/src/cap.cpp
modules/nonfree/src/surf.ocl.cpp
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/src/color.cpp
modules/ocl/src/gftt.cpp
modules/ocl/src/imgproc.cpp
samples/ocl/facedetect.cpp
2013-12-23 18:50:17 +04:00
Roman Donchenko
83cdd43a4c
Merge pull request #2039 from asmorkalov:ocv_version_inc3
2013-12-23 15:53:11 +04:00
Roman Donchenko
f22d9a232d
Merge pull request #2022 from asmorkalov:ocv_dynamic_cuda
2013-12-23 12:45:49 +04:00
Alexander Smorkalov
4ec1930949
OpenCV version++; OpenCV Manager version++.
2013-12-23 12:35:06 +04:00
Alexander Smorkalov
bc72f4d2a2
Code review fixes.
2013-12-23 11:34:46 +04:00
GregoryMorse
08d8faf9da
Update system.cpp
...
Add native C++ support
2013-12-23 00:21:51 +08:00
Ilya Lavrenov
febb200eee
fixed cv::multuply, cv::divide
2013-12-22 15:49:36 +04:00
Andrey Pavlenko
a49211a77e
Merge pull request #2032 from ilya-lavrenov:tapi_mulSpectrums
2013-12-20 21:38:14 +04:00
Ilya Lavrenov
c33a7cd7bf
added cv::mulSpectrums to T-API
2013-12-20 18:41:20 +04:00
Roman Donchenko
b0ec7dafd8
Merge pull request #1950 from GregoryMorse:patch-2
2013-12-20 17:54:02 +04:00
Roman Donchenko
b4bd5bab6d
Merge pull request #2021 from vpisarev:ocl_facedetect7
2013-12-20 12:30:49 +04:00
Alexander Smorkalov
529bd41751
Build fixes for case where HAVE_CUDA==OFF.
2013-12-20 11:37:15 +04:00
Andrey Pavlenko
cdffa05c27
Merge pull request #2019 from ilya-lavrenov:tapi_repeat
2013-12-19 19:28:58 +04:00
Alexander Smorkalov
069f3d8d9a
Build fixes for GPU module.
2013-12-19 19:12:18 +04:00
Alexander Smorkalov
2509fa8080
Warious fixes for case where HAVE_CUDA==OFF.
2013-12-19 18:02:59 +04:00
Alexander Smorkalov
5a5c82bb1d
Additional ENABLE_DYNAMIC_CUDA option implemented in cmake. Warning fixes and refactoring.
2013-12-19 17:41:04 +04:00
Andrey Pavlenko
dde1d6b636
Merge pull request #2018 from ilya-lavrenov:tapi_dft
2013-12-19 16:47:19 +04:00
Alexander Smorkalov
037ffcdf99
Dynamic CUDA support library reimplemented as OpenCV module.
2013-12-19 16:42:11 +04:00
Vadim Pisarevsky
f41f633d2d
fixed various warnings from the “doc” and other builders
2013-12-19 16:31:30 +04:00
Vadim Pisarevsky
a1784b7320
converted old haar cascades to the new format; added the conversion function; added OpenCL optimization into CascadeClassfier; optimized the data structures and CPU code for the stump case.
2013-12-19 14:48:42 +04:00
Ilya Lavrenov
b3af0e3154
added cv::repeat to T-API
2013-12-19 14:28:09 +04:00
Ilya Lavrenov
c8cbfe5382
added cv::dft T-API test
2013-12-19 13:42:16 +04:00
Alexander Smorkalov
64c94cb22c
CUDA related func tables refactored to remove unneeded dependencies.
2013-12-19 11:18:04 +04:00
Alexander Smorkalov
6da7c50fb5
Make dependency from CUDA explicit to prevent from fake dependedcies from CUDA runtime.
2013-12-19 10:27:38 +04:00
Alexander Smorkalov
442082eb0f
Fixes for Android support.
2013-12-19 09:38:46 +04:00
Andrey Pavlenko
59cab94fc7
Merge pull request #1997 from alalek:tapi_fix_memleaks
2013-12-18 13:53:17 +04:00
Andrey Pavlenko
388d0ef182
Merge pull request #2004 from ilya-lavrenov:tapi_umat_copyto
2013-12-18 13:46:14 +04:00
Alexander Smorkalov
be530bd085
DeviceInfo class method that were implemented in header moved to cpp file.
2013-12-18 12:02:15 +04:00
Ilya Lavrenov
3a6d248bee
typo
2013-12-17 17:41:28 +04:00
Andrey Pavlenko
bd91b39593
Merge pull request #1917 from alalek:ocl_d3d
2013-12-17 16:44:27 +04:00
Andrey Pavlenko
586a5cb6db
Merge pull request #1969 from KonstantinMatskevich:ocl_tapi_minmaxloc
2013-12-17 16:42:44 +04:00
Andrey Pavlenko
d3fa2bfe8c
Merge pull request #1998 from ilya-lavrenov:tapi_gemm
2013-12-17 16:41:59 +04:00
Ilya Lavrenov
ac030c16f1
fixed UMat::copyTo(UMat)
2013-12-17 15:23:39 +04:00
Vadim Pisarevsky
9d3e7e027a
almost finished opencl-ization of cascade classifier
2013-12-17 14:29:30 +04:00
Roman Donchenko
52a785e95a
Merge pull request #1996 from SpecLad:merge-2.4
2013-12-17 13:21:48 +04:00
Konstantin Matskevich
5cf4166801
some fixes
2013-12-17 12:43:21 +04:00
Konstantin Matskevich
904dac7670
minMaxLoc
2013-12-17 12:43:21 +04:00
Alexander Smorkalov
88a883e68e
Build fix.
2013-12-17 10:24:00 +04:00
Ilya Lavrenov
2f34bb9aa0
added cv::gemm to T-API
2013-12-16 19:12:27 +04:00
Roman Donchenko
f2befa01f4
Fixed build for the TLS-related stuff.
2013-12-16 18:45:41 +04:00
Alexander Alekhin
9cb31e86ae
umat: fix memory leaks
2013-12-16 16:46:36 +04:00
Roman Donchenko
9d8d70d6ca
Merge remote-tracking branch 'origin/2.4' into merge-2.4
...
Conflicts:
doc/tutorials/definitions/tocDefinitions.rst
modules/core/include/opencv2/core/core.hpp
modules/core/src/system.cpp
modules/features2d/src/freak.cpp
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/src/cl_context.cpp
modules/ocl/test/test_api.cpp
2013-12-16 15:02:12 +04:00
Alexander Smorkalov
8660e048bc
Dynamic CUDA support library loading implemented for Linux.
...
Logical mistake in macro fixed;
DeviceInfo deligate reimplemented;
Build and warning fixes.
2013-12-16 14:46:44 +04:00
Alexander Smorkalov
d4087f19a2
All CUDA related stuff were moved to separate dynamic library.
2013-12-16 14:46:44 +04:00
Peter Andreas Entschev
f44de302a0
cv::completeSymm fixed to work with any OpenCV data type and multiple channels.
2013-12-15 20:56:55 -02:00
Ilya Lavrenov
558c4a2b1d
implemented UMat::convertTo
2013-12-15 14:15:30 +04:00
Andrey Pavlenko
c9ed05c3bd
Merge pull request #1981 from ilya-lavrenov:tapi_sqrt
2013-12-13 19:34:28 +04:00
Alexander Alekhin
11b9d5bf4d
core: added DirectX interop implementation (OpenCL) with samples
2013-12-13 19:02:41 +04:00
Ilya Lavrenov
e30875bcef
fixed UMat sync problems
2013-12-13 18:38:12 +04:00
Ilya Lavrenov
1d6715e58a
added cv::sqrt to T-API (using built-in sqrt OpenCL function)
2013-12-12 18:12:30 +04:00
Andrey Pavlenko
b0a9220de8
Merge pull request #1889 from alalek:ocl_core_dynamic_runtime
2013-12-12 17:27:34 +04:00
Ilya Lavrenov
b20714a8a8
fixed kernel compilation of cv::min, cv::max for CV_64F
2013-12-12 02:42:24 +04:00
Andrey Pavlenko
f3e2bfea79
Merge pull request #1970 from ilya-lavrenov:tapi_checks
2013-12-11 21:37:10 +04:00
Alexander Alekhin
a118577a57
core: added TLS support
2013-12-11 18:50:11 +04:00
Alexander Alekhin
3bbf51fbfb
ocl: disabled test for Split (there are problems with OutputArray and getMatRef)
2013-12-11 16:46:08 +04:00
Alexander Alekhin
d0114b24e0
core/ocl: replace dynamic runtime
2013-12-11 15:56:54 +04:00
Alexander Alekhin
9f388a2be7
core/ocl: autogenerated files for dynamic runtime
2013-12-11 15:56:54 +04:00
Alexander Alekhin
5ecf759742
core/ocl: update dynamic runtime
2013-12-11 15:56:54 +04:00
Alexander Alekhin
381d7851b7
core/ocl: move opencl dynamic runtime from ocl module
2013-12-11 15:56:54 +04:00
Alexander Alekhin
bdbd3eb2bf
ocl: process termination hung workaround
2013-12-11 00:31:34 +04:00
Ilya Lavrenov
5566d31468
more strict checks outside ROI
2013-12-10 19:30:14 +04:00
Roman Donchenko
9d87f9c974
Merge pull request #1956 from ilya-lavrenov:tapi_split_merge
2013-12-09 16:56:06 +04:00
Roman Donchenko
24465bbd05
Merge pull request #1855 from Nerei:master
2013-12-09 14:13:40 +04:00
Roman Donchenko
8db53c1760
Merge pull request #1883 from philippefoubert:branch_matx_inv
2013-12-09 14:07:10 +04:00
Anatoly Baksheev
262f70f3ab
cv::format declaration in default headers
2013-12-08 19:00:53 +04:00
Ilya Lavrenov
c16c9a2e8e
added cv::split to T-API
2013-12-08 16:30:17 +04:00
Ilya Lavrenov
b6c33bf86b
added cv::norm to T-API
2013-12-08 15:27:48 +04:00
Ilya Lavrenov
cd3f7fbf05
added cv::merge to T-API
2013-12-08 13:49:28 +04:00
Anatoly Baksheev
546c084fe6
fixed shadow error and added ocv_disable_module
2013-12-07 18:58:27 +04:00
Anatoly Baksheev
ace71cef3f
Added Affine3<T>::rvec()
2013-12-07 18:50:45 +04:00
Anatoly Baksheev
9f1f5aed53
compilation
2013-12-07 18:50:44 +04:00
Anatoly Baksheev
a9c7aa92d9
removed CV_EXPORTS from cv::Afiine
2013-12-07 18:50:44 +04:00
GregoryMorse
68d8f6410f
Update system.cpp
...
Cleaned up to use the preferred namespace code. This can be further simplified by using the HString/HStringReference classes from wrl\wrappers\corewrappers.h
2013-12-07 15:40:30 +08:00
Andrey Pavlenko
a0c296fcdb
Merge pull request #1936 from ElenaGvozdeva:ocl_flip
2013-12-06 16:40:30 +04:00
Andrey Pavlenko
f2cf9dd8bf
updating version to 2.4.7.2
2013-12-06 16:21:22 +04:00
Andrey Pavlenko
c34fc180a7
Merge pull request #1762 from jet47:cuda-6.0-npp-fix
2013-12-06 15:56:15 +04:00
Elena Gvozdeva
f5a01f15a5
Fixed test for ocl_flip
2013-12-06 15:53:00 +04:00
Ilya Lavrenov
3eaa8f149b
added cv::intergal to T-API
2013-12-06 13:18:25 +04:00
Elena Gvozdeva
b930028727
Added cv::flip using Transparent API
2013-12-05 17:54:05 +04:00
Andrey Pavlenko
458ac2592b
Merge pull request #1908 from ilya-lavrenov:tapi_imgproc
2013-12-04 21:41:44 +04:00
Roman Donchenko
0736ede7e5
Merge pull request #1914 from SpecLad:merge-2.4
2013-12-04 16:30:57 +04:00
Ilya Lavrenov
e2b99a32b2
added cv::threshold to T-API
2013-12-04 13:45:44 +04:00
Ilya Lavrenov
474fc887a6
added cv::copyMakeBorder to T-API
2013-12-04 13:41:35 +04:00
Andrey Pavlenko
f9190cc662
Merge pull request #1909 from alalek:ocl_tapi_perf
2013-12-04 11:35:11 +04:00
Andrey Pavlenko
e585f145f6
Merge pull request #1903 from ilya-lavrenov:tapi_warp
2013-12-04 11:34:52 +04:00
Ilya Lavrenov
49474903cb
refactoring
2013-12-04 00:51:55 +04:00
Ilya Lavrenov
49e729f89d
ability to use cv::PSNR with transparent cv::norm
2013-12-04 00:51:55 +04:00
Ilya Lavrenov
88bceb5060
added cv::meanStdDev to T-API
2013-12-04 00:51:55 +04:00
Ilya Lavrenov
b8edc2cc4d
added cv::sum to T-API
2013-12-04 00:51:43 +04:00
Ilya Lavrenov
28575c1969
added cv::countNonZero to T-API
2013-12-04 00:51:32 +04:00
Ilya Lavrenov
fed7e61879
added cv::repeat to T-API (fix for copyTo -> UMat is needed)
2013-12-04 00:50:03 +04:00
Ilya Lavrenov
e17107e864
added cv::compare to T-API
2013-12-04 00:50:03 +04:00
Ilya Lavrenov
a180cebb2d
added cv::polarToCart to T-API
2013-12-04 00:50:03 +04:00
Ilya Lavrenov
ba850f0b64
added cv::cartToPolar to T-API
2013-12-04 00:50:03 +04:00
Ilya Lavrenov
435028ccee
added cv::transpose to T-API
2013-12-04 00:50:03 +04:00
Ilya Lavrenov
6ab297718d
added setIdentity to T-API
2013-12-04 00:50:03 +04:00
Ilya Lavrenov
3e586f42a0
added cv::pow to T-API
2013-12-04 00:50:02 +04:00
Ilya Lavrenov
997ec60839
added OCL-TAPI arithm tests
2013-12-04 00:50:02 +04:00
Ilya Lavrenov
803672feea
added cv::remap to T-API
2013-12-04 00:43:43 +04:00
Ilya Lavrenov
dcce9d7088
added cv::warpAffine to T-API
2013-12-04 00:43:43 +04:00
Ilya Lavrenov
55af7857b9
added cv::warpPerspective to T-API
2013-12-04 00:43:42 +04:00
Alexander Alekhin
7d9150460a
core/ocl: added perf test infra + "Add" perf test
2013-12-03 18:43:50 +04:00
Roman Donchenko
90c230678e
Merge pull request #1912 from KonstantinMatskevich:ocl_tapi_math
2013-12-03 18:02:44 +04:00
Roman Donchenko
d58cd9851f
Merge remote-tracking branch 'origin/2.4' into merge-2.4
...
Conflicts:
CMakeLists.txt
cmake/OpenCVDetectCUDA.cmake
doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.rst
modules/core/src/cmdparser.cpp
modules/gpu/CMakeLists.txt
modules/gpu/doc/introduction.rst
modules/gpu/perf/perf_video.cpp
modules/highgui/doc/reading_and_writing_images_and_video.rst
modules/ocl/src/cl_context.cpp
modules/video/include/opencv2/video/background_segm.hpp
samples/cpp/image_sequence.cpp
samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp
samples/python/chessboard.py
samples/python/cvutils.py
samples/python/demhist.py
samples/python/dft.py
samples/python/distrans.py
samples/python/edge.py
samples/python/ffilldemo.py
samples/python/fitellipse.py
samples/python/houghlines.py
samples/python/inpaint.py
samples/python/logpolar.py
samples/python/morphology.py
samples/python/numpy_array.py
samples/python/watershed.py
2013-12-03 17:35:21 +04:00
Konstantin Matskevich
eaf620ddde
small fix
2013-12-03 14:57:13 +04:00
Konstantin Matskevich
14dccdf23d
T-API cv::log, cv::exp, cv::magnitude, cv::phase
2013-12-03 14:07:00 +04:00
Roman Donchenko
35ea600c54
Merge pull request #1891 from alalek:cv_error_noreturn
2013-12-03 13:57:35 +04:00
Roman Donchenko
df136339ff
Merge pull request #1907 from severin-lemaignan:emscripten-2.4
2013-12-03 13:38:10 +04:00
Séverin Lemaignan
9ce9fc3361
Ensure compilation to Javascript with Emscripten
2013-12-03 09:18:59 +01:00
Roman Donchenko
17f53bc301
Merge pull request #1904 from severin-lemaignan:emscripten
2013-12-03 12:14:09 +04:00
Andrey Pavlenko
0a624ee67d
Merge pull request #1901 from vpisarev:ocl_svm3
2013-12-03 11:20:26 +04:00
Vadim Pisarevsky
cd97d789b6
dummy commit to rerun pre-commit tests
2013-12-02 22:15:07 +04:00
Andrey Pavlenko
19ceab13f2
Merge pull request #1590 from ilya-lavrenov:cmd_parser_fix
2013-12-02 20:07:47 +04:00
Vadim Pisarevsky
161c3b71e6
hopefully, now opencv_test_imgproc should pass
2013-12-02 18:27:08 +04:00
Séverin Lemaignan
efe564e3b3
Ensure compilation to Javascript with Emscripten
2013-12-02 14:06:24 +01:00
Vadim Pisarevsky
5fea17ff0d
still trying to fix failure in opencv_test_imgproc
2013-12-02 13:46:54 +04:00
Roman Donchenko
b27d7d2a61
Merge pull request #1886 from ilya-lavrenov:tapi_lut
2013-12-02 12:28:18 +04:00
Vadim Pisarevsky
82b852c13c
yet another attempt to make Core_UMat.getUMat test work
2013-12-02 00:12:20 +04:00
Vadim Pisarevsky
9be727b1ea
another attempt to fix Core_UMat.getUMat test
2013-12-01 23:14:45 +04:00
Vadim Pisarevsky
f263fe145a
trying to guess and fix strange failure in core test
2013-12-01 22:14:15 +04:00
Vadim Pisarevsky
d7f4a223cf
fixed several compile errors/warnings; reacted on the PR comments
2013-12-01 20:58:30 +04:00
Vadim Pisarevsky
6da5d21331
fixed many bugs related to Mat::getUMat(), asynchronous kernel execution etc. Also, played a bit with ocl::cvtColor vs cv::cvtColor performance
2013-12-01 03:12:19 +04:00
Alexander Alekhin
c1cfb4d422
core: added cv::error with CV_NORETURN attr
2013-11-30 03:43:31 +04:00
Ilya Lavrenov
09795e3265
added cv::resize INTER_AREA to T-API
2013-11-29 17:57:37 +04:00
Andrey Pavlenko
d83094b412
Merge pull request #1880 from ilya-lavrenov:tapi_cvtColor
2013-11-29 12:59:09 +04:00
Roman Donchenko
9ca80961fd
Merge pull request #1874 from SpecLad:merge-2.4
2013-11-28 16:43:00 +04:00
Ilya Lavrenov
4eba74ee19
added cv::LUT to T-API
2013-11-28 12:31:04 +04:00
Vladislav Vinogradov
95ebdf4069
fixed compilation with CUDA 6.0:
...
GpuMat::setTo function, removed NPP call for CV_8S
2013-11-28 09:54:34 +04:00
Philippe FOUBERT
22ad487328
Comment correction
2013-11-28 00:45:58 +01:00
Philippe FOUBERT
735f704b3e
Add on optional parameter to the matx invert function to know if this operation is successfull without having to analyse the matrix (it may fail in case of bad preconditioning or inappropriate decomposition method)
2013-11-28 00:42:19 +01:00
Ilya Lavrenov
41d046a2db
restored ocl_cvtcolor.cl
2013-11-27 23:46:30 +04:00
Ilya Lavrenov
0b900b54e5
RGB[A] <-> HSV
2013-11-27 23:30:29 +04:00
Andrey Pavlenko
96a228fd7e
Merge pull request #1866 from ilya-lavrenov:ocl_fix2
2013-11-26 23:27:49 +04:00
Andrey Pavlenko
736097a462
Merge pull request #1868 from KonstantinMatskevich:umat_bugfix
2013-11-26 23:24:51 +04:00
Roman Donchenko
920fd48228
Merge remote-tracking branch 'origin/master' into merge-2.4
...
Conflicts:
modules/ocl/src/arithm.cpp
2013-11-26 15:32:44 +04:00
Roman Donchenko
9c2272d520
Merge remote-tracking branch 'origin/2.4' into merge-2.4
...
Conflicts:
.gitignore
CMakeLists.txt
doc/CMakeLists.txt
modules/calib3d/src/stereosgbm.cpp
modules/core/include/opencv2/core/mat.hpp
modules/highgui/src/cap_openni.cpp
modules/ml/include/opencv2/ml/ml.hpp
modules/objdetect/src/hog.cpp
modules/ocl/perf/perf_color.cpp
modules/ocl/src/arithm.cpp
modules/ocl/src/filtering.cpp
modules/ocl/src/imgproc.cpp
modules/ocl/src/optical_flow_farneback.cpp
platforms/scripts/camera_build.conf
platforms/scripts/cmake_android_all_cameras.py
samples/cpp/Qt_sample/main.cpp
samples/cpp/tutorial_code/introduction/windows_visual_studio_Opencv/Test.cpp
2013-11-26 15:05:26 +04:00
Roman Donchenko
e7339ac11a
Merge pull request #1818 from GregoryMorse:patch-2
2013-11-26 13:00:56 +04:00
Roman Donchenko
e20f7014cf
Merge pull request #1835 from SpecLad:windows-xadd
2013-11-26 11:43:34 +04:00
Roman Donchenko
05e22ee8c9
Merge pull request #1859 from SpecLad:string-plus-equals
2013-11-26 11:40:37 +04:00
GregoryMorse
e4793e3d5e
Update system.cpp
...
Fixed to use native C++ instead of C++/CX although it does require significantly more code, it goes along with the spirit of keeping the project in native C++
Update system.cpp
Cleaned up whitespace, removed redundant code and added edge cases for string cleanup
Update system.cpp
Fixed compiler warning over comma operator clause
Update system.cpp
NULL initialization
Update system.cpp
Fixed use of WindowsGetStringRawBuffer which returns internal pointer to buffer
Update system.cpp
Support C++/CX and native C++ through conditional compilation. Fixed style - long lines, comma operators, long conditional. Optimized string usage to use reference.
Update system.cpp
Fixed conditional compilation around include and library
Update system.cpp
Fixed trailing space
Update system.cpp
Cleaned up whitespace, removed redundant code and added edge cases for string cleanup
Update system.cpp
Fixed compiler warning over comma operator clause
Update system.cpp
NULL initialization
Update system.cpp
Fixed use of WindowsGetStringRawBuffer which returns internal pointer to buffer
Update system.cpp
Support C++/CX and native C++ through conditional compilation. Fixed style - long lines, comma operators, long conditional. Optimized string usage to use reference.
Update system.cpp
Fixed conditional compilation around include and library
Update system.cpp
Fixed trailing space
2013-11-26 00:22:14 +08:00
Konstantin Matskevich
145855767c
bugfix in deallocate
2013-11-25 17:16:22 +04:00
Ilya Lavrenov
9d23a0cb81
fixed ocl_arithm_op; fix for 3-channel images is needed
2013-11-25 14:21:12 +04:00
StevenPuttemans
6f892b10ff
Applied feature #3375 and fix of pull 1842 to avoid merging problems later
2013-11-25 10:53:03 +01:00
Roman Donchenko
52e810ed33
Merge pull request #1850 from ilya-lavrenov:pthread_mutex
2013-11-25 12:04:17 +04:00
Alexander Alekhin
fd4a7e7d1f
ocl: disable tests
2013-11-23 18:13:32 +04:00
Andrey Pavlenko
b157cc17e9
Merge pull request #1857 from alalek:ocl_ta_tests_infra
2013-11-23 16:44:58 +04:00
Ilya Lavrenov
1af95ea12c
fixed error in setting kernel arguments
2013-11-22 18:56:03 +04:00
Alexander Alekhin
881e837520
ocl/core: added prototype for tests
2013-11-22 18:37:44 +04:00
Roman Donchenko
fc49d33c8d
Gave cv::String appropriate += operators.
...
Note that since String is a reference to an immutable string,
this doesn't actually change the string; it just replaces *this
with a reference to the concatenated string.
2013-11-22 17:58:40 +04:00