Commit Graph

1469 Commits

Author SHA1 Message Date
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