#### install_all, default, all_tests, all
env.Install('${SCONSINSTALLDIR}', [ 'site_scons/__init__.py',
'site_scons/senfutil.py',
+ 'site_scons/senfconf.py',
'site_scons/yaptu.py' ])
env.InstallDir('${SCONSINSTALLDIR}', [ 'site_scons/site_tools', 'site_scons/lib' ],
FILTER_SUFFIXES=[ '','.css','.pl','.py','.sh','.sty','.xml','.xsl','.yap' ])
#include <boost/mpl/aux_/na.hpp>
#define BOOST_BIMAP_DISABLE_SERIALIZATION
-#define BOOST_MULTI_INDEX_DISABLE_SERIALIZATION
+#ifndef BOOST_MULTI_INDEX_DISABLE_SERIALIZATION
+#define BOOST_MULTI_INDEX_DISABLE_SERIALIZATION 1
+#endif
#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
#include <boost/serialization/nvp.hpp>
::boost::bimaps::detail::bimap_core<KeyTypeA,KeyTypeB,AP1,AP2,AP3>
>::type
>,
- public ::boost::bimaps::detail::right_map_view_extra_typedefs<
+ public ::boost::bimaps::detail::right_map_view_extra_typedefs<
BOOST_DEDUCED_TYPENAME ::boost::bimaps::detail::right_map_view_type<
::boost::bimaps::detail::bimap_core<KeyTypeA,KeyTypeB,AP1,AP2,AP3>
>::type
base_::relation_set(
::boost::multi_index::get<
- BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag
- >(core)
+ BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag
+ >(core)
),
left (
::boost::multi_index::get<
),
right (
::boost::multi_index::get<
- BOOST_DEDUCED_TYPENAME base_::logic_right_tag
+ BOOST_DEDUCED_TYPENAME base_::logic_right_tag
>(core)
)
base_::relation_set(
::boost::multi_index::get<
BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag
- >(core)
+ >(core)
),
core(first,last),
base_::relation_set(
::boost::multi_index::get<
BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag
- >(core)
+ >(core)
),
core(x.core),
#pragma once
#endif
+#ifndef BOOST_MULTI_INDEX_DISABLE_SERIALIZATION
+#define BOOST_MULTI_INDEX_DISABLE_SERIALIZATION 1
+#endif
+
#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
#include <algorithm>
#include <boost/detail/allocator_utilities.hpp>
#include <boost/multi_index/detail/archive_constructed.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/split_member.hpp>
-#include <boost/throw_exception.hpp>
+#include <boost/throw_exception.hpp>
#endif
#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
typedef typename super::ctor_args_list ctor_args_list;
typedef IndexSpecifierList index_specifier_type_list;
-
+
#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
/* MSVC++ 6.0 chokes on moderately long index lists (around 6 indices
* or more), with errors ranging from corrupt exes to duplicate
node_count(0)
{
BOOST_MULTI_INDEX_CHECK_INVARIANT;
- }
+ }
template<typename InputIterator>
multi_index_container(
{
BOOST_MULTI_INDEX_CHECK_INVARIANT;
- clear_();
+ clear_();
std::size_t s;
ar>>serialization::make_nvp("count",s);
return [ '-I%s' % (('/' in f) and (os.path.split(os.getcwd())[1])+f or f)
for f in env.subst('$DPKG_IGNORED_FILES').split() ]
-if env.has_key('REVISION'):
- rev = env['REVISION']
-else:
- rev = "(Version %s)" % rev
+# if env.has_key('REVISION'):
+# rev = env['REVISION']
+# else:
+# rev = "(Version %s)" % rev
env.Append( ENV = {
'REVISION': rev,
libboost-regex-dev | libboost-regex1.35-dev,
libboost-filesystem-dev | libboost-filesystem1.35-dev,
libboost-iostreams-dev | libboost-iostreams1.35-dev,
- libboost-signals-dev | libboost-signals1.35-dev,
- doxygen (>= 1.5.5), dia, tidy, xsltproc, graphviz,
- perl-base, linklint, netpbm, gs, tetex-extra | texlive-extra-utils,
- python-4suite-xml
-Standards-Version: 3.7.2 Section: libs
+ libboost-signals-dev | libboost-signals1.35-dev
+Standards-Version: 3.7.2
+Section: libs
Package: libsenf
Section: libdevel
libboost-thread-dev | libboost-thread1.35-dev,
libboost-filesystem-dev | libboost-filesystem1.35-dev,
libboost-signals-dev | libboost-signals1.35-dev,
+ libboost-iostreams-dev | libboost-iostreams1.35-dev,
libsenf (=${source:Version}) | libsenf-dbg (=${source:Version})
Recommends: libsenf (=${source:Version}), libsenf-dbg (=${source:Version})
Suggests: libsenf-doc (=${source:Version})
build-indep: build-indep-stamp
build-indep-stamp: configure-stamp
# Add here commands to compile the indep part of the package.
- scons -j $(CONCURRENCY_LEVEL) all_docs
- scons linklint
- scons fixlinks
- scons $(destdir)/usr/include $(destdir)/usr/share/doc \
- syslayout=1 PREFIX='$(destdir)/usr' \
- DOCINSTALLDIR='$$PREFIX/share/doc/libsenf-doc/html'
+# scons -j $(CONCURRENCY_LEVEL) all_docs
+# scons linklint
+# scons fixlinks
+# scons $(destdir)/usr/include $(destdir)/usr/share/doc \
+# syslayout=1 PREFIX='$(destdir)/usr' \
+# DOCINSTALLDIR='$$PREFIX/share/doc/libsenf-doc/html'
+ scons $(destdir)/usr/include syslayout=1 PREFIX='$(destdir)/usr'
# We need to install the example sourcecode
- find Examples \( -name "*.hh" -o -name "*.cc" \) -printf "%P\n" | \
+ find Examples \( -name "*.hh" -o -name "*.cc" -o -name SConstruct \) -printf "%P\n" | \
while read src; do \
dir="$(destdir)/usr/share/doc/libsenf-doc/examples/$$(dirname "$$src")"; \
mkdir -p "$$dir"; \
{
typedef parser::tlvList_t::container tlvContainer_t;
tlvContainer_t tlvs (p->tlvList() );
- for (tlvContainer_t::iterator i (tlvs.begin()); i != tlvs.end(); ++i)
- i->finalize();
+ for (tlvContainer_t::iterator i (tlvs.begin()); i != tlvs.end(); ++i) {
+ MIHGenericTLVParser p (*i);
+ p.finalize();
+ }
}
map_.insert(key, new detail::GenericTLVParserRegistry_Entry<BaseParser, Parser>() );
}
+// Wow ... this is stupid .. Boost 1.33 ptr_map API is broken ...
+
+#if BOOST_VERSION < 103400
+#define PTRMAP_GET_CONTENTS(v) (v)
+#else
+#define PTRMAP_GET_CONTENTS(v) (*(v).second)
+#endif
+
template <class BaseParser, class Keytype>
prefix_ void senf::GenericTLVParserRegistry<BaseParser,Keytype>::dump(
GenericTLVParser const & parser, std::ostream & os)
{
typename Map::const_iterator i (map_.find( parser.type()));
if (i != map_.end())
- (i->second)->dump(parser, os);
+ PTRMAP_GET_CONTENTS(*i).dump(parser, os);
}
template <class BaseParser, class Keytype>
{
typename Map::const_iterator i (map_.find( key));
if (i != map_.end())
- (i->second)->dump(parser, os);
+ PTRMAP_GET_CONTENTS(*i).dump(parser, os);
}
template <class BaseParser, class Keytype>
{
typename Map::const_iterator i (map_.find( parser.type()));
if (i != map_.end())
- return (i->second)->bytes(parser);
+ return PTRMAP_GET_CONTENTS(*i).bytes(parser);
else
throw TLVParserNotRegisteredException();
}
{
typename Map::const_iterator i (map_.find( key));
if (i != map_.end())
- return (i->second)->bytes(parser);
+ return PTRMAP_GET_CONTENTS(*i).bytes(parser);
else
throw TLVParserNotRegisteredException();
}
-
+#undef PTRMAP_GET_CONTENTS
///////////////////////////////ct.e////////////////////////////////////////
#undef prefix_
namespace detail {
template <class BaseParser>
struct GenericTLVParserRegistry_EntryBase {
+ virtual ~GenericTLVParserRegistry_EntryBase() {}
virtual void dump(GenericTLVParserBase<BaseParser> const & parser, std::ostream & os) const = 0;
virtual PacketParserBase::size_type bytes(GenericTLVParserBase<BaseParser> const & parser) const = 0;
};
-from __future__ import with_statement
+# from __future__ import with_statement
_configTests = {}
global _configTests
_configTests[func.__name__] = func
-class TemporaryContext:
- def __init__(self, context):
- self._context = context
- self._env = self._context.env.Clone()
+# class TemporaryContext:
+# def __init__(self, context):
+# self._context = context
+# self._env = self._context.env.Clone()
- def __enter__(self):
- return None
+# def __enter__(self):
+# return None
- def __exit__(self,*args):
- self._context.env.Replace(**self._env.Dictionary())
- return False
+# def __exit__(self,*args):
+# self._context.env.Replace(**self._env.Dictionary())
+# return False
@Test
def CheckBoostVersion(context):
@Test
def CheckBoostVariants(context, *variants):
useVariant = None
- with TemporaryContext(context):
+# with TemporaryContext(context):
+ try:
+ _env = context.env.Clone()
for variant in variants:
if variant : variantStr = "'%s'" % variant
else : variantStr = "default"
context.Result( ret )
if ret and useVariant is None:
useVariant = variant
+ finally:
+ context.env.Replace(**_env.Dictionary())
if useVariant is not None and not context.env.GetOption('no_progress'):
print "Using %s boost variant." % (
useVariant and "'%s'" % useVariant or "default")