concepts.hpp File Reference
#include "../encoding/block.hpp"
#include "../encoding/encoding-buffer.hpp"
#include <boost/concept/usage.hpp>
#include <boost/type_traits/has_equal_to.hpp>
#include <boost/type_traits/has_not_equal_to.hpp>
#include <boost/type_traits/has_left_shift.hpp>
+ Include dependency graph for concepts.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ndn::detail::NfdMgmtProtocolStruct< X >
 
class  ndn::NotificationStreamItem< X >
 concept check for an item in a Notification Stream More...
 
class  ndn::StatusDatasetItem< X >
 concept check for an item in a Status Dataset More...
 
class  ndn::detail::StlForwardIteratorConcept< T >
 
class  ndn::WireDecodable< X >
 a concept check for TLV abstraction with .wireDecode method and constructible from Block More...
 
class  ndn::WireEncodable< X >
 a concept check for TLV abstraction with .wireEncode method More...
 
class  ndn::WireEncodableWithEncodingBuffer< X >
 a concept check for TLV abstraction with .wireEncode method More...
 

Namespaces

 ndn
 Copyright (c) 2013-2017 Regents of the University of California.
 
 ndn::detail
 

Macros

#define NDN_CXX_ASSERT_DEFAULT_CONSTRUCTIBLE(T)
 assert T is default constructible More...
 
#define NDN_CXX_ASSERT_FORWARD_ITERATOR(T)
 assert T is a forward iterator More...
 

Macro Definition Documentation

#define NDN_CXX_ASSERT_DEFAULT_CONSTRUCTIBLE (   T)
Value:
static_assert(std::is_default_constructible<T>::value, \
#T " must be default-constructible"); \
BOOST_CONCEPT_ASSERT((boost::DefaultConstructible<T>))
BOOST_CONCEPT_ASSERT((boost::EqualityComparable< Data >))

assert T is default constructible

See also
http://en.cppreference.com/w/cpp/concept/DefaultConstructible

Definition at line 147 of file concepts.hpp.

#define NDN_CXX_ASSERT_FORWARD_ITERATOR (   T)
Value:
static_assert(std::is_default_constructible<T>::value, \
#T " must be default-constructible"); \
BOOST_CONCEPT_ASSERT((boost::EqualityComparable< Data >))

assert T is a forward iterator

See also
http://en.cppreference.com/w/cpp/concept/ForwardIterator
Note
A forward iterator should be default constructible, but boost::ForwardIterator follows SGI standard which doesn't require DefaultConstructible, so a separate check is needed.

Definition at line 157 of file concepts.hpp.