mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-16 22:02:13 +02:00
Adjust directory structure.
This commit is contained in:
18
.gitignore
vendored
18
.gitignore
vendored
@ -1,18 +0,0 @@
|
|||||||
# Compiled Object files
|
|
||||||
*.slo
|
|
||||||
*.lo
|
|
||||||
*.o
|
|
||||||
|
|
||||||
# Compiled Dynamic libraries
|
|
||||||
*.so
|
|
||||||
*.dylib
|
|
||||||
|
|
||||||
# Compiled Static libraries
|
|
||||||
*.lai
|
|
||||||
*.la
|
|
||||||
*.a
|
|
||||||
|
|
||||||
# Build directories
|
|
||||||
bin
|
|
||||||
_build*
|
|
||||||
build*
|
|
29
Jamroot
29
Jamroot
@ -1,29 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (C) 2013 Mateusz Loskot <mateusz@loskot.net>
|
|
||||||
#
|
|
||||||
# Distributed under 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)
|
|
||||||
#
|
|
||||||
import os ;
|
|
||||||
|
|
||||||
local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
|
|
||||||
if $(BOOST_ROOT)
|
|
||||||
{
|
|
||||||
use-project /boost : $(BOOST_ROOT) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Declare project
|
|
||||||
project boost_fusion_std_array
|
|
||||||
:
|
|
||||||
requirements
|
|
||||||
<include>.
|
|
||||||
<toolset>clang:<cxxflags>-std=c++11
|
|
||||||
<toolset>gcc:<cxxflags>-std=c++0x
|
|
||||||
<toolset>gcc:<threading>multi
|
|
||||||
<toolset>gcc:<cxxflags>-ftemplate-depth=300
|
|
||||||
<toolset>msvc:<cxxflags>/wd4996
|
|
||||||
<use>/boost//headers
|
|
||||||
;
|
|
||||||
|
|
||||||
build-project libs/fusion/test ;
|
|
27
README.md
27
README.md
@ -1,27 +0,0 @@
|
|||||||
Boost.Fusion extension for std::array
|
|
||||||
=====================================
|
|
||||||
|
|
||||||
An attempt to adapt ```std::array``` for Boost.Fusion.
|
|
||||||
|
|
||||||
The implementation is functional and passes the same test as adapted Boost.Array.
|
|
||||||
|
|
||||||
Proposal thread on the Boost mailing list:
|
|
||||||
[[fusion] Adapter for std::array](http://lists.boost.org/Archives/boost/2013/07/205045.php).
|
|
||||||
|
|
||||||
However, there is a problem with ADL and range-based access to the sequence
|
|
||||||
which is a well-known issue:
|
|
||||||
|
|
||||||
* [Fusion begin/end ADL issues with C++0x range-based for](http://lists.boost.org/Archives/boost/2010/12/index.php)
|
|
||||||
* Boost ticket: [fusion::begin and fusion::end lead to problems with ADL-based begin and end functions for ranges](https://svn.boost.org/trac/boost/ticket/4028)
|
|
||||||
* Boost ticket: [Treat std::array as a Fusion sequence](https://svn.boost.org/trac/boost/ticket/8241)
|
|
||||||
|
|
||||||
See also:
|
|
||||||
|
|
||||||
* N3257=11-0027 Jonathan Wakely and Bjarne Stroustrup:
|
|
||||||
[Range-based for statements and ADL](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3257.pdf).
|
|
||||||
Option 5 was chosen for C++11.
|
|
||||||
|
|
||||||
* [Jonathan Wakely's review](http://lists.boost.org/Archives/boost/2013/07/205064.php) of the issue regarding the Boost.Fusion adaptor for ```std::string```:
|
|
||||||
> The standard was changed to *not* use unqualified begin/end when the type has begin/end members, because
|
|
||||||
when there are multiple "greedy" overloads that can be found by ADL there is no simple way to prevent ambiguity. So I agree that your
|
|
||||||
best option might be to avoid those unqualified calls.
|
|
@ -1,23 +0,0 @@
|
|||||||
cmake_minimum_required (VERSION 2.8)
|
|
||||||
project(boost_fusion_std_array)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
list(APPEND CMAKE_CXX_FLAGS /Za)
|
|
||||||
else()
|
|
||||||
list(APPEND CMAKE_CXX_FLAGS -pedantic -Wall)
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
|
||||||
list(APPEND CMAKE_CXX_FLAGS -std=c++0x)
|
|
||||||
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER}" MATCHES "clang")
|
|
||||||
list(APPEND CMAKE_CXX_FLAGS -std=c++11)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
string(REPLACE ";" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
|
||||||
|
|
||||||
find_package(Boost 1.54)
|
|
||||||
if (NOT Boost_FOUND)
|
|
||||||
message(FATAL_ERROR "Cannot find Boost")
|
|
||||||
endif()
|
|
||||||
include_directories(${Boost_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
add_executable(std_array std_array.cpp)
|
|
Reference in New Issue
Block a user