Compare commits

..

16 Commits

Author SHA1 Message Date
dbca6823ec Release 1.39.0
[SVN r52732]
2009-05-02 13:01:04 +00:00
cde937faaa merge of cmake build files from trunk per beman
[SVN r50756]
2009-01-24 18:57:20 +00:00
6f100429eb stages trunk version for boost 1.35
[SVN r43684]
2008-03-17 21:42:41 +00:00
51aca6c98c Rebuild a lot of documentation.
[SVN r43650]
2008-03-16 11:38:32 +00:00
291304b704 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
e04f655cc7 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
60e32163d6 adds redirect to documentation
[SVN r40805]
2007-11-05 20:00:43 +00:00
55aa1ff276 updates html
[SVN r40801]
2007-11-05 17:25:26 +00:00
247a8a1ace integrates forgotten changes
[SVN r40800]
2007-11-05 17:24:58 +00:00
e8a144226c adds navigation icons
[SVN r40799]
2007-11-05 17:23:57 +00:00
60a0af0f66 - nonstandard calling conventions need to be enabled now
- using #ifdef ... #error to detect whether test makes sense for a particular compiler



[SVN r40798]
2007-11-05 17:20:44 +00:00
20eb828129 adds test case for pointer to data member type
[SVN r40797]
2007-11-05 17:19:23 +00:00
f77db2de77 just a touch
[SVN r40796]
2007-11-05 17:17:57 +00:00
0e8e53a27f removes unportable 'chdir'
[SVN r40795]
2007-11-05 17:16:30 +00:00
01fa810682 - nonstandard calling conventions disabled by default
- automatic fallback configuration



[SVN r40794]
2007-11-05 17:15:04 +00:00
3bafb64003 Fusion 2.1 one more time with care
[SVN r40389]
2007-10-24 02:30:52 +00:00
4 changed files with 620 additions and 0 deletions

21
CMakeLists.txt Normal file
View File

@ -0,0 +1,21 @@
#----------------------------------------------------------------------------
# This file was automatically generated from the original CMakeLists.txt file
# Add a variable to hold the headers for the library
set (lib_headers
function_types
)
# Add a library target to the build system
boost_library_project(
function_types
# SRCDIRS
TESTDIRS test
HEADERS ${lib_headers}
# DOCDIRS
# DESCRIPTION
MODULARIZED
# AUTHORS
# MAINTAINERS
)

528
doc/html/boostbook.css Normal file
View File

@ -0,0 +1,528 @@
/*=============================================================================
Copyright (c) 2004 Joel de Guzman
http://spirit.sourceforge.net/
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
/*=============================================================================
Body defaults
=============================================================================*/
body
{
margin: 1em;
font-family: sans-serif;
}
/*=============================================================================
Paragraphs
=============================================================================*/
p
{
text-align: left;
font-size: 10pt;
line-height: 1.15;
}
/*=============================================================================
Program listings
=============================================================================*/
/* Code on paragraphs */
p tt.computeroutput
{
font-size: 9pt;
}
pre.synopsis
{
font-size: 90%;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}
.programlisting,
.screen
{
font-size: 9pt;
display: block;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}
/* Program listings in tables don't get borders */
td .programlisting,
td .screen
{
margin: 0pc 0pc 0pc 0pc;
padding: 0pc 0pc 0pc 0pc;
}
/*=============================================================================
Headings
=============================================================================*/
h1, h2, h3, h4, h5, h6
{
text-align: left;
margin: 1em 0em 0.5em 0em;
font-weight: bold;
}
h1 { font: 140% }
h2 { font: bold 140% }
h3 { font: bold 130% }
h4 { font: bold 120% }
h5 { font: italic 110% }
h6 { font: italic 100% }
/* Top page titles */
title,
h1.title,
h2.title
h3.title,
h4.title,
h5.title,
h6.title,
.refentrytitle
{
font-weight: bold;
margin-bottom: 1pc;
}
h1.title { font-size: 140% }
h2.title { font-size: 140% }
h3.title { font-size: 130% }
h4.title { font-size: 120% }
h5.title { font-size: 110% }
h6.title { font-size: 100% }
.section h1
{
margin: 0em 0em 0.5em 0em;
font-size: 140%;
}
.section h2 { font-size: 140% }
.section h3 { font-size: 130% }
.section h4 { font-size: 120% }
.section h5 { font-size: 110% }
.section h6 { font-size: 100% }
/* Code on titles */
h1 tt.computeroutput { font-size: 140% }
h2 tt.computeroutput { font-size: 140% }
h3 tt.computeroutput { font-size: 130% }
h4 tt.computeroutput { font-size: 120% }
h5 tt.computeroutput { font-size: 110% }
h6 tt.computeroutput { font-size: 100% }
/*=============================================================================
Author
=============================================================================*/
h3.author
{
font-size: 100%
}
/*=============================================================================
Lists
=============================================================================*/
li
{
font-size: 10pt;
line-height: 1.3;
}
/* Unordered lists */
ul
{
text-align: left;
}
/* Ordered lists */
ol
{
text-align: left;
}
/*=============================================================================
Links
=============================================================================*/
a
{
text-decoration: none; /* no underline */
}
a:hover
{
text-decoration: underline;
}
/*=============================================================================
Spirit style navigation
=============================================================================*/
.spirit-nav
{
text-align: right;
}
.spirit-nav a
{
color: white;
padding-left: 0.5em;
}
.spirit-nav img
{
border-width: 0px;
}
/*=============================================================================
Table of contents
=============================================================================*/
.toc
{
margin: 1pc 4% 0pc 4%;
padding: 0.1pc 1pc 0.1pc 1pc;
font-size: 80%;
line-height: 1.15;
}
.boost-toc
{
float: right;
padding: 0.5pc;
}
/*=============================================================================
Tables
=============================================================================*/
.table-title,
div.table p.title
{
margin-left: 4%;
padding-right: 0.5em;
padding-left: 0.5em;
}
.informaltable table,
.table table
{
width: 92%;
margin-left: 4%;
margin-right: 4%;
}
div.informaltable table,
div.table table
{
padding: 4px;
}
/* Table Cells */
div.informaltable table tr td,
div.table table tr td
{
padding: 0.5em;
text-align: left;
font-size: 9pt;
}
div.informaltable table tr th,
div.table table tr th
{
padding: 0.5em 0.5em 0.5em 0.5em;
border: 1pt solid white;
font-size: 80%;
}
/*=============================================================================
Blurbs
=============================================================================*/
div.note,
div.tip,
div.important,
div.caution,
div.warning,
div.sidebar
{
font-size: 9pt; /* A little bit smaller than the main text */
line-height: 1.2;
display: block;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.0pc 0.5pc;
}
div.sidebar img
{
padding: 1pt;
}
/*=============================================================================
Callouts
=============================================================================*/
.line_callout_bug img
{
float: left;
position:relative;
left: 4px;
top: -12px;
clear: left;
margin-left:-22px;
}
.callout_bug img
{
}
/*=============================================================================
Variable Lists
=============================================================================*/
/* Make the terms in definition lists bold */
div.variablelist dl dt,
span.term
{
font-weight: bold;
font-size: 10pt;
}
div.variablelist table tbody tr td
{
text-align: left;
vertical-align: top;
padding: 0em 2em 0em 0em;
font-size: 10pt;
margin: 0em 0em 0.5em 0em;
line-height: 1;
}
div.variablelist dl dt
{
margin-bottom: 0.2em;
}
div.variablelist dl dd
{
margin: 0em 0em 0.5em 2em;
font-size: 10pt;
}
div.variablelist table tbody tr td p,
div.variablelist dl dd p
{
margin: 0em 0em 0.5em 0em;
line-height: 1;
}
/*=============================================================================
Misc
=============================================================================*/
/* Title of books and articles in bibliographies */
span.title
{
font-style: italic;
}
span.underline
{
text-decoration: underline;
}
span.strikethrough
{
text-decoration: line-through;
}
/* Copyright, Legal Notice */
div div.legalnotice p
{
text-align: left
}
/*=============================================================================
Colors
=============================================================================*/
@media screen
{
/* Links */
a
{
color: #005a9c;
}
a:visited
{
color: #9c5a9c;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
{
text-decoration: none; /* no underline */
color: #000000;
}
/* Syntax Highlighting */
.keyword { color: #0000AA; }
.identifier { color: #000000; }
.special { color: #707070; }
.preprocessor { color: #402080; }
.char { color: teal; }
.comment { color: #800000; }
.string { color: teal; }
.number { color: teal; }
.white_bkd { background-color: #FFFFFF; }
.dk_grey_bkd { background-color: #999999; }
/* Copyright, Legal Notice */
.copyright
{
color: #666666;
font-size: small;
}
div div.legalnotice p
{
color: #666666;
}
/* Program listing */
pre.synopsis
{
border: 1px solid #DCDCDC;
}
.programlisting,
.screen
{
border: 1px solid #DCDCDC;
}
td .programlisting,
td .screen
{
border: 0px solid #DCDCDC;
}
/* Blurbs */
div.note,
div.tip,
div.important,
div.caution,
div.warning,
div.sidebar
{
border: 1px solid #DCDCDC;
}
/* Table of contents */
.toc
{
border: 1px solid #DCDCDC;
}
/* Tables */
div.informaltable table tr td,
div.table table tr td
{
border: 1px solid #DCDCDC;
}
div.informaltable table tr th,
div.table table tr th
{
background-color: #F0F0F0;
border: 1px solid #DCDCDC;
}
/* Misc */
span.highlight
{
color: #00A000;
}
}
@media print
{
/* Links */
a
{
color: black;
}
a:visited
{
color: black;
}
.spirit-nav
{
display: none;
}
/* Program listing */
pre.synopsis
{
border: 1px solid gray;
}
.programlisting,
.screen
{
border: 1px solid gray;
}
td .programlisting,
td .screen
{
border: 0px solid #DCDCDC;
}
/* Table of contents */
.toc
{
border: 1px solid gray;
}
.informaltable table,
.table table
{
border: 1px solid gray;
border-collapse: collapse;
}
/* Tables */
div.informaltable table tr td,
div.table table tr td
{
border: 1px solid gray;
}
div.informaltable table tr th,
div.table table tr th
{
border: 1px solid gray;
}
/* Misc */
span.highlight
{
font-weight: bold;
}
}

1
module.cmake Normal file
View File

@ -0,0 +1 @@
boost_module(function_types DEPENDS mpl detail)

70
test/CMakeLists.txt Normal file
View File

@ -0,0 +1,70 @@
# Get the boost dependencies for the tests
boost_additional_test_dependencies(function_types BOOST_DEPENDS test fusion)
boost_test_compile(is_function classification/is_function.cpp)
boost_test_compile(is_function_pointer classification/is_function_pointer.cpp)
boost_test_compile(is_function_reference classification/is_function_reference.cpp)
boost_test_compile(is_member_function_pointer classification/is_member_function_pointer.cpp)
boost_test_compile(is_member_object_pointer classification/is_member_object_pointer.cpp)
boost_test_compile(is_callable_builtin classification/is_callable_builtin.cpp)
boost_test_compile(is_nonmember_callable_builtin classification/is_nonmember_callable_builtin.cpp)
boost_test_compile(is_member_pointer classification/is_member_pointer.cpp)
boost_test_compile(is_cv_mem_func_ptr classification/is_cv_mem_func_ptr.cpp)
boost_test_compile(is_variadic classification/is_variadic.cpp)
boost_test_compile(is_cv_pointer classification/is_cv_pointer.cpp)
# [ compile classification/is_cv_function.cpp)
# Decomposition
boost_test_compile(components decomposition/components.cpp)
boost_test_compile(result_type decomposition/result_type.cpp)
boost_test_compile(function_arity decomposition/function_arity.cpp)
boost_test_compile(parameter_types decomposition/parameter_types.cpp)
boost_test_compile(components_seq decomposition/components_seq.cpp)
boost_test_compile(class_type_transform decomposition/class_type_transform.cpp)
boost_test_compile_fail(result_type_fail decomposition/result_type_fail.cpp)
boost_test_compile_fail(parameter_types_fail decomposition/parameter_types_fail.cpp)
boost_test_compile_fail(function_arity_fail decomposition/function_arity_fail.cpp)
# Synthesis
boost_test_compile(function_type synthesis/function_type.cpp)
boost_test_compile(function_pointer synthesis/function_pointer.cpp)
boost_test_compile(function_reference synthesis/function_reference.cpp)
boost_test_compile(member_function_pointer synthesis/member_function_pointer.cpp)
boost_test_compile(member_object_pointer synthesis/member_object_pointer.cpp)
boost_test_compile(transformation synthesis/transformation.cpp)
boost_test_compile(mem_func_ptr_cv1 synthesis/mem_func_ptr_cv1.cpp)
boost_test_compile(mem_func_ptr_cv2 synthesis/mem_func_ptr_cv2.cpp)
boost_test_compile(mem_func_ptr_cv_ptr_to_this synthesis/mem_func_ptr_cv_ptr_to_this.cpp)
boost_test_compile(variadic_function_synthesis synthesis/variadic_function_synthesis.cpp)
# [ compile synthesis/cv_function_synthesis.cpp)
# Reconfiguration
boost_test_compile(preprocessing_mode reconfiguration/preprocessing_mode.cpp)
boost_test_compile(partial_arity_preprocessing reconfiguration/partial_arity_preprocessing.cpp)
boost_test_compile(cc_preprocessing reconfiguration/cc_preprocessing.cpp)
# Custom calling conventions
boost_test_compile(nonmember_ccs custom_ccs/nonmember_ccs.cpp)
boost_test_compile(nonmember_ccs_exact custom_ccs/nonmember_ccs_exact.cpp)
message(STATUS "Function_Types/test/custom_ccs/member_ccs.cpp Needs love")
#boost_test_compile(member_ccs custom_ccs/member_ccs.cpp)
message(STATUS "Function_Types/test/custom_ccs/member_ccs_exact.cpp Needs love")
#boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp)
# Code from the examples
# Include the "example" directory
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/example")
boost_test_compile(interpreter_example ../example/interpreter_example.cpp)
boost_test_compile(result_of_example ../example/result_of_example.cpp)
boost_test_compile(interface_example ../example/interface_example.cpp)
message(STATUS "Function_Types/example/fast_mem_fn_example.cpp Needs love")
#boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp)
boost_test_compile(macro_type_args_example ../example/macro_type_args_example.cpp)