diff --git a/compose.hpp.html b/compose.hpp.html
deleted file mode 100644
index 76b30d4..0000000
--- a/compose.hpp.html
+++ /dev/null
@@ -1,459 +0,0 @@
-
-
-compose.hpp
-
-
-
-
-
-
-
- The following code example is taken from the book
-
- The C++ Standard Library - A Tutorial and Reference
- by Nicolai M. Josuttis, Addison-Wesley, 1999
-
- © Copyright Nicolai M. Josuttis 1999
-
-
-
-/* supplementing compose function objects
- * Son Dez 26 22:11:12 MET 1999
- */
-#ifndef BOOST_COMPOSE_HPP
-#define BOOST_COMPOSE_HPP
-
-#include <functional>
-
-namespace boost {
-
-/**********************************************************
- * type nullary_function
- * - as supplement to unary_function and binary_function
- **********************************************************/
-template <class Result>
-struct nullary_function {
- typedef Result result_type;
-};
-
-/**********************************************************
- * ptr_fun for functions with no argument
- **********************************************************/
-template <class Result>
-class pointer_to_nullary_function : public nullary_function<Result>
-{
- protected:
- Result (*ptr)();
- public:
- pointer_to_nullary_function() {
- }
- explicit pointer_to_nullary_function(Result (*x)()) : ptr(x) {
- }
- Result operator()() const {
- return ptr();
- }
-};
-
-template <class Result>
-inline pointer_to_nullary_function<Result> ptr_fun(Result (*x)())
-{
- return pointer_to_nullary_function<Result>(x);
-}
-
-/*********** compose_f_gx_t and compose_f_gx **********************/
-
-/* class for the compose_f_gx adapter
- */
-template <class OP1, class OP2>
-class compose_f_gx_t
- : public std::unary_function<typename OP2::argument_type,
- typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2(x))
- OP2 op2;
- public:
- // constructor
- compose_f_gx_t(const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x) const {
- return op1(op2(x));
- }
-};
-
-/* convenience functions for the compose_f_gx adapter
- */
-template <class OP1, class OP2>
-inline compose_f_gx_t<OP1,OP2>
-compose_f_gx (const OP1& o1, const OP2& o2) {
- return compose_f_gx_t<OP1,OP2>(o1,o2);
-}
-
-/*********** compose_f_gx_hx_t and compose_f_gx_hx **********************/
-
-/* class for the compose_f_gx_hx adapter
- */
-template <class OP1, class OP2, class OP3>
-class compose_f_gx_hx_t
- : public std::unary_function<typename OP2::argument_type,
- typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2(x),op3(x))
- OP2 op2;
- OP3 op3;
- public:
- // constructor
- compose_f_gx_hx_t (const OP1& o1, const OP2& o2, const OP3& o3)
- : op1(o1), op2(o2), op3(o3) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x) const {
- return op1(op2(x),op3(x));
- }
-};
-
-/* convenience functions for the compose_f_gx_hx adapter
- */
-template <class OP1, class OP2, class OP3>
-inline compose_f_gx_hx_t<OP1,OP2,OP3>
-compose_f_gx_hx (const OP1& o1, const OP2& o2, const OP3& o3) {
- return compose_f_gx_hx_t<OP1,OP2,OP3>(o1,o2,o3);
-}
-
-/*********** compose_f_gxy_t and compose_f_gxy **********************/
-
-/* class for the compose_f_gxy adapter
- */
-template <class OP1, class OP2>
-class compose_f_gxy_t
- : public std::binary_function<typename OP2::first_argument_type,
- typename OP2::second_argument_type,
- typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2(x,y))
- OP2 op2;
- public:
- // constructor
- compose_f_gxy_t (const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::first_argument_type& x,
- const typename OP2::second_argument_type& y) const {
- return op1(op2(x,y));
- }
-};
-
-/* convenience function for the compose_f_gxy adapter
- */
-template <class OP1, class OP2>
-inline compose_f_gxy_t<OP1,OP2>
-compose_f_gxy (const OP1& o1, const OP2& o2) {
- return compose_f_gxy_t<OP1,OP2>(o1,o2);
-}
-
-/*********** compose_f_gx_hy_t and compose_f_gx_hy **********************/
-
-/* class for the compose_f_gx_hy adapter
- */
-template <class OP1, class OP2, class OP3>
-class compose_f_gx_hy_t
- : public std::binary_function<typename OP2::argument_type,
- typename OP3::argument_type,
- typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2(x),op3(y))
- OP2 op2;
- OP3 op3;
- public:
- // constructor
- compose_f_gx_hy_t (const OP1& o1, const OP2& o2, const OP3& o3)
- : op1(o1), op2(o2), op3(o3) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x,
- const typename OP3::argument_type& y) const {
- return op1(op2(x),op3(y));
- }
-};
-
-/* convenience function for the compose_f_gx_hy adapter
- */
-template <class OP1, class OP2, class OP3>
-inline compose_f_gx_hy_t<OP1,OP2,OP3>
-compose_f_gx_hy (const OP1& o1, const OP2& o2, const OP3& o3) {
- return compose_f_gx_hy_t<OP1,OP2,OP3>(o1,o2,o3);
-}
-
-/*********** compose_f_g_t and compose_f_g **********************/
-
-/* class for the compose_f_g adapter
- */
-template <class OP1, class OP2>
-class compose_f_g_t
- : public boost::nullary_function<typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2())
- OP2 op2;
- public:
- // constructor
- compose_f_g_t(const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()() const {
- return op1(op2());
- }
-};
-
-/* convenience functions for the compose_f_g adapter
- */
-template <class OP1, class OP2>
-inline compose_f_g_t<OP1,OP2>
-compose_f_g (const OP1& o1, const OP2& o2) {
- return compose_f_g_t<OP1,OP2>(o1,o2);
-}
-
-} /* namespace boost */
-
-#endif /*BOOST_COMPOSE_HPP*/
-/* supplementing compose function objects
- * Son Dez 26 22:14:55 MET 1999
- */
-#ifndef BOOST_COMPOSE_HPP
-#define BOOST_COMPOSE_HPP
-
-#include <functional>
-
-namespace boost {
-
-/**********************************************************
- * type nullary_function
- * - as supplement to unary_function and binary_function
- **********************************************************/
-template <class Result>
-struct nullary_function {
- typedef Result result_type;
-};
-
-/**********************************************************
- * ptr_fun for functions with no argument
- **********************************************************/
-template <class Result>
-class pointer_to_nullary_function : public nullary_function<Result>
-{
- protected:
- Result (*ptr)();
- public:
- pointer_to_nullary_function() {
- }
- explicit pointer_to_nullary_function(Result (*x)()) : ptr(x) {
- }
- Result operator()() const {
- return ptr();
- }
-};
-
-template <class Result>
-inline pointer_to_nullary_function<Result> ptr_fun(Result (*x)())
-{
- return pointer_to_nullary_function<Result>(x);
-}
-
-/*********** compose_f_gx_t and compose_f_gx **********************/
-
-/* class for the compose_f_gx adapter
- */
-template <class OP1, class OP2>
-class compose_f_gx_t
- : public std::unary_function<typename OP2::argument_type,
- typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2(x))
- OP2 op2;
- public:
- // constructor
- compose_f_gx_t(const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x) const {
- return op1(op2(x));
- }
-};
-
-/* convenience functions for the compose_f_gx adapter
- */
-template <class OP1, class OP2>
-inline compose_f_gx_t<OP1,OP2>
-compose_f_gx (const OP1& o1, const OP2& o2) {
- return compose_f_gx_t<OP1,OP2>(o1,o2);
-}
-
-/*********** compose_f_gx_hx_t and compose_f_gx_hx **********************/
-
-/* class for the compose_f_gx_hx adapter
- */
-template <class OP1, class OP2, class OP3>
-class compose_f_gx_hx_t
- : public std::unary_function<typename OP2::argument_type,
- typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2(x),op3(x))
- OP2 op2;
- OP3 op3;
- public:
- // constructor
- compose_f_gx_hx_t (const OP1& o1, const OP2& o2, const OP3& o3)
- : op1(o1), op2(o2), op3(o3) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x) const {
- return op1(op2(x),op3(x));
- }
-};
-
-/* convenience functions for the compose_f_gx_hx adapter
- */
-template <class OP1, class OP2, class OP3>
-inline compose_f_gx_hx_t<OP1,OP2,OP3>
-compose_f_gx_hx (const OP1& o1, const OP2& o2, const OP3& o3) {
- return compose_f_gx_hx_t<OP1,OP2,OP3>(o1,o2,o3);
-}
-
-/*********** compose_f_gxy_t and compose_f_gxy **********************/
-
-/* class for the compose_f_gxy adapter
- */
-template <class OP1, class OP2>
-class compose_f_gxy_t
- : public std::binary_function<typename OP2::first_argument_type,
- typename OP2::second_argument_type,
- typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2(x,y))
- OP2 op2;
- public:
- // constructor
- compose_f_gxy_t (const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::first_argument_type& x,
- const typename OP2::second_argument_type& y) const {
- return op1(op2(x,y));
- }
-};
-
-/* convenience function for the compose_f_gxy adapter
- */
-template <class OP1, class OP2>
-inline compose_f_gxy_t<OP1,OP2>
-compose_f_gxy (const OP1& o1, const OP2& o2) {
- return compose_f_gxy_t<OP1,OP2>(o1,o2);
-}
-
-/*********** compose_f_gx_hy_t and compose_f_gx_hy **********************/
-
-/* class for the compose_f_gx_hy adapter
- */
-template <class OP1, class OP2, class OP3>
-class compose_f_gx_hy_t
- : public std::binary_function<typename OP2::argument_type,
- typename OP3::argument_type,
- typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2(x),op3(y))
- OP2 op2;
- OP3 op3;
- public:
- // constructor
- compose_f_gx_hy_t (const OP1& o1, const OP2& o2, const OP3& o3)
- : op1(o1), op2(o2), op3(o3) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x,
- const typename OP3::argument_type& y) const {
- return op1(op2(x),op3(y));
- }
-};
-
-/* convenience function for the compose_f_gx_hy adapter
- */
-template <class OP1, class OP2, class OP3>
-inline compose_f_gx_hy_t<OP1,OP2,OP3>
-compose_f_gx_hy (const OP1& o1, const OP2& o2, const OP3& o3) {
- return compose_f_gx_hy_t<OP1,OP2,OP3>(o1,o2,o3);
-}
-
-/*********** compose_f_g_t and compose_f_g **********************/
-
-/* class for the compose_f_g adapter
- */
-template <class OP1, class OP2>
-class compose_f_g_t
- : public boost::nullary_function<typename OP1::result_type>
-{
- private:
- OP1 op1; // process: op1(op2())
- OP2 op2;
- public:
- // constructor
- compose_f_g_t(const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()() const {
- return op1(op2());
- }
-};
-
-/* convenience functions for the compose_f_g adapter
- */
-template <class OP1, class OP2>
-inline compose_f_g_t<OP1,OP2>
-compose_f_g (const OP1& o1, const OP2& o2) {
- return compose_f_g_t<OP1,OP2>(o1,o2);
-}
-
-} /* namespace boost */
-
-#endif /*BOOST_COMPOSE_HPP*/
-
-
-
diff --git a/compose.html b/compose.html
deleted file mode 100644
index 4b9f453..0000000
--- a/compose.html
+++ /dev/null
@@ -1,148 +0,0 @@
-
-
-
-
-
-
-
- DEPRECATED: Compose Function Object Adapters
-
-
-
-
-
- | DEPRECATED: Compose
- Function Object Adapters |
-
-
-
-This library is deprecated in favor of the Bind or Lambda libraries, and will be removed in a future release of Boost. The C++ Standard Template Library STL as
-part of the C++ Standard Library provides several function objects. Unfortunately,
-it doesn't provide the ability to compose these function objects. For example,
-it is not possible to combine the result of two unary operations to formulate
-a criterion such as ``this and that''. But this would be
-important for building software components out of other components, which
-leads to the concept of functional composition. So, here are some adapters
-that close this gap.
-
In fact, these adapters provide to compose
-function objects as follows:
-
-
-
-| Functionality |
-
-Boost Name |
-
-SGI STL's Name |
-
-
-
-| f(g(value)) |
-
-compose_f_gx |
-
-compose1 |
-
-
-
-| f(g(value),h(value)) |
-
-compose_f_gx_hx |
-
-compose2 |
-
-
-
-| f(g(value1),h(value2)) |
-
-compose_f_gx_hy |
-
- |
-
-
-
-| f(g(value1,value2)) |
-
-compose_f_gxy |
-
- |
-
-
-
-| f(g()) |
-
-compose_f_g |
-
- |
-
-
-
-As you can see, two of these adapters are
-part of the SGI STL already.
-However, we changed the names according to
-a consistent naming scheme for all adapters.
-
In addition, this code also defines a type nullary_function
- for function objects that have no argument (as supplement to unary_function
- and binary_function) and overloads
- ptr_fun for functions that take
- no arguments.
-
The code is provided "as is" without expressed
- or implied warranty.
-
compose.hpp:
-
-as HTML file
-
- as plain file
-
- Example for using compose_f_gx
-
-as HTML file
-
-
-as plain file
-
-
-Example for using compose_f_gx_hx
-
-as HTML file
-
-
-as plain file
-
-
Example for using
-compose_f_gx_hy
-
-as HTML file
-
-
-as plain file
-
-
Example for using
-compose_f_g
-and ptr_fun for functions without arguments
-
-as HTML file
-
- as plain file
-
-
- To find more details about function objects in
- general and about these compose functions, see
- The
- C++ Standard Library - A Tutorial and Reference
- by Nicolai M. Josuttis
-
- Addison Wesley Longman,
- 1999
- ISBN 0-201-37926-0
-
- and the SGI
- STL documentation
-
-Home
-Page
-
-
-
-
-
\ No newline at end of file
diff --git a/compose1.cpp b/compose1.cpp
deleted file mode 100644
index 6ef61dc..0000000
--- a/compose1.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/* The following code example is taken from the book
- * "The C++ Standard Library - A Tutorial and Reference"
- * by Nicolai M. Josuttis, Addison-Wesley, 1999
- *
- * (C) Copyright Nicolai M. Josuttis 1999.
- * Permission to copy, use, modify, sell and distribute this software
- * is granted provided this copyright notice appears in all copies.
- * This software is provided "as is" without express or implied
- * warranty, and with no claim as to its suitability for any purpose.
- */
-#include
-#include
-#include
-#include
-#include
-#include "print.hpp"
-#include
-
-using namespace std;
-using namespace boost;
-
-int main()
-{
- vector coll;
-
- // insert elements from 1 to 9
- for (int i=1; i<=9; ++i) {
- coll.push_back(i);
- }
- PRINT_ELEMENTS(coll);
-
- // for each element add 10 and multiply by 5
- transform (coll.begin(),coll.end(),
- ostream_iterator(cout," "),
- compose_f_gx(bind2nd(multiplies(),5),
- bind2nd(plus(),10)));
- cout << endl;
-}
diff --git a/compose1.cpp.html b/compose1.cpp.html
deleted file mode 100644
index 2bd86eb..0000000
--- a/compose1.cpp.html
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-compose1.cpp
-
-
-
-
-
-
-
- The following code example is taken from the book
-
- The C++ Standard Library - A Tutorial and Reference
- by Nicolai M. Josuttis, Addison-Wesley, 1999
-
- © Copyright Nicolai M. Josuttis 1999
-
-
-
-#include <iostream>
-#include <vector>
-#include <algorithm>
-#include <functional>
-#include <iterator>
-#include "print.hpp"
-#include "compose.hpp"
-using namespace std;
-using namespace boost;
-
-int main()
-{
- vector<int> coll;
-
- // insert elements from 1 to 9
- for (int i=1; i<=9; ++i) {
- coll.push_back(i);
- }
- PRINT_ELEMENTS(coll);
-
- // for each element add 10 and multiply by 5
- transform (coll.begin(),coll.end(),
- ostream_iterator<int>(cout," "),
- compose_f_gx(bind2nd(multiplies<int>(),5),
- bind2nd(plus<int>(),10)));
- cout << endl;
-}
-
-
-
diff --git a/compose2.cpp b/compose2.cpp
deleted file mode 100644
index 639f553..0000000
--- a/compose2.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/* The following code example is taken from the book
- * "The C++ Standard Library - A Tutorial and Reference"
- * by Nicolai M. Josuttis, Addison-Wesley, 1999
- *
- * (C) Copyright Nicolai M. Josuttis 1999.
- * Permission to copy, use, modify, sell and distribute this software
- * is granted provided this copyright notice appears in all copies.
- * This software is provided "as is" without express or implied
- * warranty, and with no claim as to its suitability for any purpose.
- */
-#include
-#include
-#include
-#include
-#include "print.hpp"
-#include
-using namespace std;
-using namespace boost;
-
-int main()
-{
- vector coll;
-
- // insert elements from 1 to 9
- for (int i=1; i<=9; ++i) {
- coll.push_back(i);
- }
- PRINT_ELEMENTS(coll);
-
- // remove all elements that are greater than four and less than seven
- // - retain new end
- vector::iterator pos;
- pos = remove_if (coll.begin(),coll.end(),
- compose_f_gx_hx(logical_and(),
- bind2nd(greater(),4),
- bind2nd(less(),7)));
-
- // remove ``removed'' elements in coll
- coll.erase(pos,coll.end());
-
- PRINT_ELEMENTS(coll);
-}
diff --git a/compose2.cpp.html b/compose2.cpp.html
deleted file mode 100644
index 231da6b..0000000
--- a/compose2.cpp.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-compose2.cpp
-
-
-
-
-
-
-
- The following code example is taken from the book
-
- The C++ Standard Library - A Tutorial and Reference
- by Nicolai M. Josuttis, Addison-Wesley, 1999
-
- © Copyright Nicolai M. Josuttis 1999
-
-
-
-#include <iostream>
-#include <vector>
-#include <algorithm>
-#include <functional>
-#include "print.hpp"
-#include "compose.hpp"
-using namespace std;
-using namespace boost;
-
-int main()
-{
- vector<int> coll;
-
- // insert elements from 1 to 9
- for (int i=1; i<=9; ++i) {
- coll.push_back(i);
- }
- PRINT_ELEMENTS(coll);
-
- // remove all elements that are greater than four and less than seven
- // - retain new end
- vector<int>::iterator pos;
- pos = remove_if (coll.begin(),coll.end(),
- compose_f_gx_hx(logical_and<bool>(),
- bind2nd(greater<int>(),4),
- bind2nd(less<int>(),7)));
-
- // remove ``removed'' elements in coll
- coll.erase(pos,coll.end());
-
- PRINT_ELEMENTS(coll);
-}
-
-
-
diff --git a/compose3.cpp b/compose3.cpp
deleted file mode 100644
index a694b04..0000000
--- a/compose3.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/* The following code example is taken from the book
- * "The C++ Standard Library - A Tutorial and Reference"
- * by Nicolai M. Josuttis, Addison-Wesley, 1999
- *
- * (C) Copyright Nicolai M. Josuttis 1999.
- * Permission to copy, use, modify, sell and distribute this software
- * is granted provided this copyright notice appears in all copies.
- * This software is provided "as is" without express or implied
- * warranty, and with no claim as to its suitability for any purpose.
- */
-#include
-#include
-#include
-#include
-#include
-#include
-using namespace std;
-using namespace boost;
-
-int main()
-{
- string s("Internationalization");
- string sub("Nation");
-
- // search substring case insensitive
- string::iterator pos;
- pos = search (s.begin(),s.end(), // string to search in
- sub.begin(),sub.end(), // substring to search
- compose_f_gx_hy(equal_to(), // compar. criterion
- ptr_fun(::toupper),
- ptr_fun(::toupper)));
-
- if (pos != s.end()) {
- cout << "\"" << sub << "\" is part of \"" << s << "\""
- << endl;
- }
-}
diff --git a/compose3.cpp.html b/compose3.cpp.html
deleted file mode 100644
index e46f28e..0000000
--- a/compose3.cpp.html
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-compose3.cpp
-
-
-
-
-
-
-
- The following code example is taken from the book
-
- The C++ Standard Library - A Tutorial and Reference
- by Nicolai M. Josuttis, Addison-Wesley, 1999
-
- © Copyright Nicolai M. Josuttis 1999
-
-
-
-#include <iostream>
-#include <algorithm>
-#include <functional>
-#include <string>
-#include <cctype>
-#include "compose.hpp"
-using namespace std;
-using namespace boost;
-
-int main()
-{
- string s("Internationalization");
- string sub("Nation");
-
- // search substring case insensitive
- string::iterator pos;
- pos = search (s.begin(),s.end(), // string to search in
- sub.begin(),sub.end(), // substring to search
- compose_f_gx_hy(equal_to<int>(), // compar. criterion
- ptr_fun(::toupper),
- ptr_fun(::toupper)));
-
- if (pos != s.end()) {
- cout << "\"" << sub << "\" is part of \"" << s << "\""
- << endl;
- }
-}
-
-
-
diff --git a/compose4.cpp b/compose4.cpp
deleted file mode 100644
index 8c35dce..0000000
--- a/compose4.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/* The following code example is taken from the book
- * "The C++ Standard Library - A Tutorial and Reference"
- * by Nicolai M. Josuttis, Addison-Wesley, 1999
- *
- * (C) Copyright Nicolai M. Josuttis 1999.
- * Permission to copy, use, modify, sell and distribute this software
- * is granted provided this copyright notice appears in all copies.
- * This software is provided "as is" without express or implied
- * warranty, and with no claim as to its suitability for any purpose.
- */
-#include
-#include
-#include
-#include
-#include "print.hpp"
-#include
-using namespace std;
-using namespace boost;
-
-
-int main()
-{
- list coll;
-
- // insert five random numbers
- generate_n (back_inserter(coll), // beginning of destination range
- 5, // count
- rand); // new value generator
- PRINT_ELEMENTS(coll);
-
- // overwrite with five new random numbers
- // in the range between 0 (including) and 10 (excluding)
- generate (coll.begin(), coll.end(), // destination range
- compose_f_g(bind2nd(modulus(),10),
- ptr_fun(rand)));
- PRINT_ELEMENTS(coll);
-}
diff --git a/compose4.cpp.html b/compose4.cpp.html
deleted file mode 100644
index 75a93eb..0000000
--- a/compose4.cpp.html
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-compose4.cpp
-
-
-
-
-
-
-
- The following code example is taken from the book
-
- The C++ Standard Library - A Tutorial and Reference
- by Nicolai M. Josuttis, Addison-Wesley, 1999
-
- © Copyright Nicolai M. Josuttis 1999
-
-
-
-#include <list>
-#include <algorithm>
-#include <functional>
-#include <cstdlib>
-#include "print.hpp"
-#include "compose.hpp"
-using namespace std;
-using namespace boost;
-
-
-int main()
-{
- list<int> coll;
-
- // insert five random numbers
- generate_n (back_inserter(coll), // beginning of destination range
- 5, // count
- rand); // new value generator
- PRINT_ELEMENTS(coll);
-
- // overwrite with five new random numbers
- // in the range between 0 (including) and 10 (excluding)
- generate (coll.begin(), coll.end(), // destination range
- compose_f_g(bind2nd(modulus<int>(),10),
- ptr_fun(rand)));
- PRINT_ELEMENTS(coll);
-}
-
-
-
diff --git a/include/boost/compose.hpp b/include/boost/compose.hpp
deleted file mode 100644
index f102f99..0000000
--- a/include/boost/compose.hpp
+++ /dev/null
@@ -1,233 +0,0 @@
-/* supplementing compose function objects
- * Fri Jul 16 21:01:58 MEST 1999
- */
-/* The following code example is taken from the book
- * "The C++ Standard Library - A Tutorial and Reference"
- * by Nicolai M. Josuttis, Addison-Wesley, 1999
- *
- * (C) Copyright Nicolai M. Josuttis 1999.
- * Permission to copy, use, modify, sell and distribute this software
- * is granted provided this copyright notice appears in all copies.
- * This software is provided "as is" without express or implied
- * warranty, and with no claim as to its suitability for any purpose.
- */
-
-// See http://www.boost.org/libs/compose for Documentation.
-
-#ifndef BOOST_DEPRECATED
-# error Boost.Compose has been deprecated in favor of Boost.Bind or Boost.Lambda, and will be removed in a future release. You may define the macro BOOST_DEPRECATED to suppress this warning.
-#endif
-
-#ifndef BOOST_COMPOSE_HPP
-#define BOOST_COMPOSE_HPP
-
-#include
-
-namespace boost {
-
-/**********************************************************
- * type nullary_function
- * - as supplement to unary_function and binary_function
- **********************************************************/
-template
-struct nullary_function {
- typedef Result result_type;
-};
-
-/**********************************************************
- * ptr_fun for functions with no argument
- **********************************************************/
-template
-class pointer_to_nullary_function : public nullary_function
-{
- protected:
- Result (*ptr)();
- public:
- pointer_to_nullary_function() {
- }
- explicit pointer_to_nullary_function(Result (*x)()) : ptr(x) {
- }
- Result operator()() const {
- return ptr();
- }
-};
-
-template
-inline pointer_to_nullary_function ptr_fun(Result (*x)())
-{
- return pointer_to_nullary_function(x);
-}
-
-/*********** compose_f_gx_t and compose_f_gx **********************/
-
-/* class for the compose_f_gx adapter
- */
-template
-class compose_f_gx_t
- : public std::unary_function
-{
- private:
- OP1 op1; // process: op1(op2(x))
- OP2 op2;
- public:
- // constructor
- compose_f_gx_t(const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x) const {
- return op1(op2(x));
- }
-};
-
-/* convenience functions for the compose_f_gx adapter
- */
-template
-inline compose_f_gx_t
-compose_f_gx (const OP1& o1, const OP2& o2) {
- return compose_f_gx_t(o1,o2);
-}
-
-/*********** compose_f_gx_hx_t and compose_f_gx_hx **********************/
-
-/* class for the compose_f_gx_hx adapter
- */
-template
-class compose_f_gx_hx_t
- : public std::unary_function
-{
- private:
- OP1 op1; // process: op1(op2(x),op3(x))
- OP2 op2;
- OP3 op3;
- public:
- // constructor
- compose_f_gx_hx_t (const OP1& o1, const OP2& o2, const OP3& o3)
- : op1(o1), op2(o2), op3(o3) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x) const {
- return op1(op2(x),op3(x));
- }
-};
-
-/* convenience functions for the compose_f_gx_hx adapter
- */
-template
-inline compose_f_gx_hx_t
-compose_f_gx_hx (const OP1& o1, const OP2& o2, const OP3& o3) {
- return compose_f_gx_hx_t(o1,o2,o3);
-}
-
-/*********** compose_f_gxy_t and compose_f_gxy **********************/
-
-/* class for the compose_f_gxy adapter
- */
-template
-class compose_f_gxy_t
- : public std::binary_function
-{
- private:
- OP1 op1; // process: op1(op2(x,y))
- OP2 op2;
- public:
- // constructor
- compose_f_gxy_t (const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::first_argument_type& x,
- const typename OP2::second_argument_type& y) const {
- return op1(op2(x,y));
- }
-};
-
-/* convenience function for the compose_f_gxy adapter
- */
-template
-inline compose_f_gxy_t
-compose_f_gxy (const OP1& o1, const OP2& o2) {
- return compose_f_gxy_t(o1,o2);
-}
-
-/*********** compose_f_gx_hy_t and compose_f_gx_hy **********************/
-
-/* class for the compose_f_gx_hy adapter
- */
-template
-class compose_f_gx_hy_t
- : public std::binary_function
-{
- private:
- OP1 op1; // process: op1(op2(x),op3(y))
- OP2 op2;
- OP3 op3;
- public:
- // constructor
- compose_f_gx_hy_t (const OP1& o1, const OP2& o2, const OP3& o3)
- : op1(o1), op2(o2), op3(o3) {
- }
-
- // function call
- typename OP1::result_type
- operator()(const typename OP2::argument_type& x,
- const typename OP3::argument_type& y) const {
- return op1(op2(x),op3(y));
- }
-};
-
-/* convenience function for the compose_f_gx_hy adapter
- */
-template
-inline compose_f_gx_hy_t
-compose_f_gx_hy (const OP1& o1, const OP2& o2, const OP3& o3) {
- return compose_f_gx_hy_t(o1,o2,o3);
-}
-
-/*********** compose_f_g_t and compose_f_g **********************/
-
-/* class for the compose_f_g adapter
- */
-template
-class compose_f_g_t
- : public boost::nullary_function
-{
- private:
- OP1 op1; // process: op1(op2())
- OP2 op2;
- public:
- // constructor
- compose_f_g_t(const OP1& o1, const OP2& o2)
- : op1(o1), op2(o2) {
- }
-
- // function call
- typename OP1::result_type
- operator()() const {
- return op1(op2());
- }
-};
-
-/* convenience functions for the compose_f_g adapter
- */
-template
-inline compose_f_g_t
-compose_f_g (const OP1& o1, const OP2& o2) {
- return compose_f_g_t(o1,o2);
-}
-
-} /* namespace boost */
-
-#endif /*BOOST_COMPOSE_HPP*/
diff --git a/print.hpp b/print.hpp
deleted file mode 100644
index 4325f47..0000000
--- a/print.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/* The following code example is taken from the book
- * "The C++ Standard Library - A Tutorial and Reference"
- * by Nicolai M. Josuttis, Addison-Wesley, 1999
- *
- * (C) Copyright Nicolai M. Josuttis 1999.
- * Permission to copy, use, modify, sell and distribute this software
- * is granted provided this copyright notice appears in all copies.
- * This software is provided "as is" without express or implied
- * warranty, and with no claim as to its suitability for any purpose.
- */
-#include
-
-/* PRINT_ELEMENTS()
- * - prints optional C-string optcstr followed by
- * - all elements of the collection coll
- * - separated by spaces
- */
-template
-inline void PRINT_ELEMENTS (const T& coll, const char* optcstr="")
-{
- typename T::const_iterator pos;
-
- std::cout << optcstr;
- for (pos=coll.begin(); pos!=coll.end(); ++pos) {
- std::cout << *pos << ' ';
- }
- std::cout << std::endl;
-}
diff --git a/print.hpp.html b/print.hpp.html
deleted file mode 100644
index 2bc6190..0000000
--- a/print.hpp.html
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-PRINT_ELEMENTS()
-
-
-
-
-
- |
-
- PRINT_ELEMENTS()
-
- |
-
-
- The following code example is taken from the book
-
- The C++ Standard Library - A Tutorial and Reference
- by Nicolai M. Josuttis, Addison-Wesley, 1999
-
- © Copyright Nicolai M. Josuttis 1999
-
-
-
-#include <iostream>
-
-/* PRINT_ELEMENTS()
- * - prints optional C-string optcstr followed by
- * - all elements of the collection coll
- * - separated by spaces
- */
-template <class T>
-inline void PRINT_ELEMENTS (const T& coll, const char* optcstr="")
-{
- typename T::const_iterator pos;
-
- std::cout << optcstr;
- for (pos=coll.begin(); pos!=coll.end(); ++pos) {
- std::cout << *pos << ' ';
- }
- std::cout << std::endl;
-}
-
-
-