mirror of
https://github.com/boostorg/function.git
synced 2025-07-16 22:22:12 +02:00
Regenerated, with license and copyright info
[SVN r17419]
This commit is contained in:
16
test/Jamfile
16
test/Jamfile
@ -1,3 +1,17 @@
|
||||
# Function library
|
||||
|
||||
# Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
# Permission to copy, use, sell and distribute this software is granted
|
||||
# provided this copyright notice appears in all copies. Permission to modify
|
||||
# the code and to distribute modified code is granted provided this copyright
|
||||
# notice appears in all copies, and a notice that the code was modified is
|
||||
# included with the copyright notice. This software is provided "as is"
|
||||
# without express or implied warranty, and with no claim as to its suitability
|
||||
# for any purpose.
|
||||
|
||||
# For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
# Testing Jamfile autogenerated from XML source
|
||||
subproject libs/function/test ;
|
||||
@ -15,7 +29,7 @@ DEPENDS all : test ;
|
||||
|
||||
test-suite function
|
||||
:
|
||||
[ run libs/function/test/function_test.cpp : : : : lib_function_test ]
|
||||
[ run libs/function/test/function_test.cpp ]
|
||||
|
||||
[ run libs/function/test/function_n_test.cpp ]
|
||||
|
||||
|
@ -1,3 +1,18 @@
|
||||
// Boost.Function library
|
||||
|
||||
// Copyright (C) 2002-2003 Doug Gregor (gregod@cs.rpi.edu)
|
||||
//
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies.
|
||||
// Permission to modify the code and to distribute modified code is granted
|
||||
// provided this copyright notice appears in all copies, and a notice
|
||||
// that the code was modified is included with the copyright notice.
|
||||
//
|
||||
// This software is provided "as is" without express or implied warranty,
|
||||
// and with no claim as to its suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org
|
||||
|
||||
// Make sure we don't try to redefine function2
|
||||
#include <boost/function/function2.hpp>
|
||||
|
||||
|
@ -1,41 +1,38 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
|
||||
float mul_ints(int x, int y) { return ((float)x) * y; }
|
||||
|
||||
|
||||
float mul_ints(int x, int y) { return ((float)x) * y; }
|
||||
struct int_div {
|
||||
float operator()(int x, int y) const { return ((float)x)/y; };
|
||||
};
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
boost::function<float (int x, int y)> f;
|
||||
|
||||
|
||||
f = int_div();
|
||||
|
||||
|
||||
std::cout << f(5, 3) << std::endl;
|
||||
|
||||
|
||||
if (f)
|
||||
boost::function<float (int x, int y)> f;
|
||||
f = int_div();
|
||||
std::cout << f(5, 3) << std::endl;
|
||||
if (f)
|
||||
std::cout << f(5, 3) << std::endl;
|
||||
else
|
||||
std::cout << "f has no target, so it is unsafe to call" << std::endl;
|
||||
|
||||
|
||||
f = 0;
|
||||
|
||||
|
||||
f = &mul_ints;
|
||||
|
||||
f = 0;
|
||||
f = &mul_ints;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,39 +1,36 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
float mul_ints(int x, int y) { return ((float)x) * y; }
|
||||
|
||||
|
||||
float mul_ints(int x, int y) { return ((float)x) * y; }
|
||||
struct int_div {
|
||||
float operator()(int x, int y) const { return ((float)x)/y; };
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
boost::function2<float, int, int> f;
|
||||
|
||||
|
||||
f = int_div();
|
||||
|
||||
|
||||
std::cout << f(5, 3) << std::endl;
|
||||
|
||||
|
||||
if (f)
|
||||
boost::function2<float, int, int> f;
|
||||
f = int_div();
|
||||
std::cout << f(5, 3) << std::endl;
|
||||
if (f)
|
||||
std::cout << f(5, 3) << std::endl;
|
||||
else
|
||||
std::cout << "f has no target, so it is unsafe to call" << std::endl;
|
||||
|
||||
|
||||
f = 0;
|
||||
|
||||
|
||||
f = &mul_ints;
|
||||
|
||||
f = 0;
|
||||
f = &mul_ints;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,3 +1,16 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
@ -8,13 +21,11 @@ struct stateful_type { int operator()(int) const { return 0; } };
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
stateful_type a_function_object;
|
||||
stateful_type a_function_object;
|
||||
boost::function<int (int)> f;
|
||||
f = boost::ref(a_function_object);
|
||||
|
||||
boost::function<int (int)> f2(f);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,3 +1,16 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
@ -8,13 +21,11 @@ struct stateful_type { int operator()(int) const { return 0; } };
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
stateful_type a_function_object;
|
||||
stateful_type a_function_object;
|
||||
boost::function1<int, int> f;
|
||||
f = boost::ref(a_function_object);
|
||||
|
||||
boost::function1<int, int> f2(f);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,3 +1,18 @@
|
||||
// Boost.Function library
|
||||
|
||||
// Copyright (C) 2002-2003 Doug Gregor (gregod@cs.rpi.edu)
|
||||
//
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies.
|
||||
// Permission to modify the code and to distribute modified code is granted
|
||||
// provided this copyright notice appears in all copies, and a notice
|
||||
// that the code was modified is included with the copyright notice.
|
||||
//
|
||||
// This software is provided "as is" without express or implied warranty,
|
||||
// and with no claim as to its suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org
|
||||
|
||||
#include <iostream>
|
||||
#include <cstdlib>
|
||||
|
||||
|
@ -1,26 +1,35 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <iostream>
|
||||
#include <functional>
|
||||
|
||||
|
||||
struct X {
|
||||
int foo(int);
|
||||
};
|
||||
|
||||
int X::foo(int x) { return -x; }
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
boost::function<int (X*, int)> f;
|
||||
boost::function<int (X*, int)> f;
|
||||
|
||||
f = &X::foo;
|
||||
|
||||
X x;
|
||||
f(&x, 5);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,26 +1,35 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <iostream>
|
||||
#include <functional>
|
||||
|
||||
|
||||
struct X {
|
||||
int foo(int);
|
||||
};
|
||||
|
||||
int X::foo(int x) { return -x; }
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
boost::function2<int, X*, int> f;
|
||||
boost::function2<int, X*, int> f;
|
||||
|
||||
f = &X::foo;
|
||||
|
||||
X x;
|
||||
f(&x, 5);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,25 +1,34 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <iostream>
|
||||
#include <functional>
|
||||
|
||||
|
||||
struct X {
|
||||
int foo(int);
|
||||
};
|
||||
|
||||
int X::foo(int x) { return -x; }
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
boost::function<int (int)> f;
|
||||
boost::function<int (int)> f;
|
||||
X x;
|
||||
f = std::bind1st(std::mem_fun(&X::foo), &x);
|
||||
|
||||
f = std::bind1st(
|
||||
std::mem_fun(&X::foo), &x);
|
||||
f(5); // Call x.foo(5)
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,25 +1,34 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <iostream>
|
||||
#include <functional>
|
||||
|
||||
|
||||
struct X {
|
||||
int foo(int);
|
||||
};
|
||||
|
||||
int X::foo(int x) { return -x; }
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
boost::function1<int, int> f;
|
||||
boost::function1<int, int> f;
|
||||
X x;
|
||||
f = std::bind1st(std::mem_fun(&X::foo), &x);
|
||||
|
||||
f = std::bind1st(
|
||||
std::mem_fun(&X::foo), &x);
|
||||
f(5); // Call x.foo(5)
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,9 +1,21 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
void do_sum_avg(int values[], int n, int& sum, float& avg)
|
||||
{
|
||||
sum = 0;
|
||||
@ -11,15 +23,10 @@ void do_sum_avg(int values[], int n, int& sum, float& avg)
|
||||
sum += values[i];
|
||||
avg = (float)sum / n;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
boost::function<void (int values[], int n, int& sum, float& avg)> sum_avg;
|
||||
|
||||
|
||||
sum_avg = &do_sum_avg;
|
||||
|
||||
boost::function<void (int values[], int n, int& sum, float& avg)> sum_avg;
|
||||
sum_avg = &do_sum_avg;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,9 +1,21 @@
|
||||
// Function library
|
||||
|
||||
// Copyright (C) 2001-2003 Douglas Gregor
|
||||
|
||||
// Permission to copy, use, sell and distribute this software is granted
|
||||
// provided this copyright notice appears in all copies. Permission to modify
|
||||
// the code and to distribute modified code is granted provided this copyright
|
||||
// notice appears in all copies, and a notice that the code was modified is
|
||||
// included with the copyright notice. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its
|
||||
// suitability for any purpose.
|
||||
|
||||
// For more information, see http://www.boost.org/
|
||||
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
void do_sum_avg(int values[], int n, int& sum, float& avg)
|
||||
{
|
||||
sum = 0;
|
||||
@ -11,15 +23,10 @@ void do_sum_avg(int values[], int n, int& sum, float& avg)
|
||||
sum += values[i];
|
||||
avg = (float)sum / n;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
boost::function4<void, int[], int, int&, float> sum_avg;
|
||||
|
||||
|
||||
sum_avg = &do_sum_avg;
|
||||
|
||||
boost::function4<void, int[], int, int&, float> sum_avg;
|
||||
sum_avg = &do_sum_avg;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user