summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-01-12 13:57:37 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2015-01-12 13:57:37 (GMT)
commit6c61ffaf9b1616e6938b78ca19f17f9a9f87f3ec (patch)
treecca0a21d897711acddc7679198deb48d82ba8f99 /Help
parent9fced518582afcb0875648a278821f7b82f536f4 (diff)
parent3660d063bc005aa13e7ee4836aef842a91cc87f1 (diff)
downloadCMake-6c61ffaf9b1616e6938b78ca19f17f9a9f87f3ec.zip
CMake-6c61ffaf9b1616e6938b78ca19f17f9a9f87f3ec.tar.gz
CMake-6c61ffaf9b1616e6938b78ca19f17f9a9f87f3ec.tar.bz2
Merge topic 'sun-better-stdlib'
3660d063 cmTarget: Use insert instead of std::copy. 5c28495f Help: Remove documented restriction on template use. ac3d3829 Help: Remove documented restriction on find in conditions. 36b8de56 Help: Remove documented restriction on insert APIs. 6162c919 Use two-iterator std::set::insert where appropriate. 238dd2fb Use insert instead of a loop in some cases. 2f7ef7e3 Revert "Misc. fixes for the Oracle / Sun compiler." 4c69ec6f SolarisStudio: Use alternative standard library to build CMake.
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-developer.7.rst79
1 files changed, 0 insertions, 79 deletions
diff --git a/Help/manual/cmake-developer.7.rst b/Help/manual/cmake-developer.7.rst
index 682ce47..65b3a72 100644
--- a/Help/manual/cmake-developer.7.rst
+++ b/Help/manual/cmake-developer.7.rst
@@ -21,32 +21,6 @@ CMake is required to build with ancient C++ compilers and standard library
implementations. Some common C++ constructs may not be used in CMake in order
to build with such toolchains.
-std::set const iterators
-------------------------
-
-The ``find()`` member function of a ``const`` ``std::set`` instance may not be
-used in a comparison with the iterator returned by ``end()``:
-
-.. code-block:: c++
-
- const std::set<std::string>& someSet = getSet();
- if (someSet.find("needle") == someSet.end()) // Wrong
- {
- // ...
- }
-
-The return value of ``find()`` must be assigned to an intermediate
-``const_iterator`` for comparison:
-
-.. code-block:: c++
-
- const std::set<std::string>& someSet;
- const std::set<std::string>::const_iterator i = someSet.find("needle");
- if (i != propSet.end()) // Ok
- {
- // ...
- }
-
std::auto_ptr
-------------
@@ -54,53 +28,6 @@ Some implementations have a ``std::auto_ptr`` which can not be used as a
return value from a function. ``std::auto_ptr`` may not be used. Use
``cmsys::auto_ptr`` instead.
-std::vector::insert and std::set
---------------------------------
-
-Use of ``std::vector::insert`` with an iterator whose ``element_type`` requires
-conversion is not allowed:
-
-.. code-block:: c++
-
- std::set<const char*> theSet;
- std::vector<std::string> theVector;
- theVector.insert(theVector.end(), theSet.begin(), theSet.end()); // Wrong
-
-A loop must be used instead:
-
-.. code-block:: c++
-
- std::set<const char*> theSet;
- std::vector<std::string> theVector;
- for(std::set<const char*>::iterator li = theSet.begin();
- li != theSet.end(); ++li)
- {
- theVector.push_back(*li);
- }
-
-std::set::insert
-----------------
-
-Use of ``std::set::insert`` is not allowed with any source container:
-
-.. code-block:: c++
-
- std::set<cmTarget*> theSet;
- theSet.insert(targets.begin(), targets.end()); // Wrong
-
-A loop must be used instead:
-
-.. code-block:: c++
-
- ConstIterator it = targets.begin();
- const ConstIterator end = targets.end();
- for ( ; it != end; ++it)
- {
- theSet.insert(*it);
- }
-
-.. SunCC 5.9
-
Template Parameter Defaults
---------------------------
@@ -137,12 +64,6 @@ assigning the result of ``.size()`` on a container for example, the result
should be assigned to ``size_t`` not to ``std::size_t``, ``unsigned int`` or
similar types.
-Templates
----------
-
-Some template code is permitted, but with some limitations. Member templates
-may not be used, and template friends may not be used.
-
Adding Compile Features
=======================