39#if defined(DigitalSetByAssociativeContainer_RECURSES)
40#error Recursive header files inclusion detected in DigitalSetByAssociativeContainer.h
43#define DigitalSetByAssociativeContainer_RECURSES
45#if !defined DigitalSetByAssociativeContainer_h
47#define DigitalSetByAssociativeContainer_h
54#include "DGtal/base/Common.h"
55#include "DGtal/base/CowPtr.h"
56#include "DGtal/base/Clone.h"
57#include "DGtal/base/Alias.h"
58#include "DGtal/base/ConstAlias.h"
59#include "DGtal/kernel/domains/CDomain.h"
60#include "DGtal/base/CSTLAssociativeContainer.h"
88 template <
typename TDomain,
typename TContainer >
112 typedef typename Container::size_type
Size;
185 template <
typename Po
intInputIterator>
186 void insert( PointInputIterator first, PointInputIterator last );
209 template <
typename Po
intInputIterator>
210 void insertNew( PointInputIterator first, PointInputIterator last );
308 template<
typename TOutputIterator >
385 template <
typename Domain,
typename Container>
394#include "DGtal/kernel/sets/DigitalSetByAssociativeContainer.ih"
401#undef DigitalSetByAssociativeContainer_RECURSES
Aim: This class encapsulates its parameter class to indicate that the given parameter is required to ...
Aim: Copy on write shared pointer.
Aim: A wrapper class around a STL associative container for storing sets of digital points within som...
void insertNew(PointInputIterator first, PointInputIterator last)
BOOST_STATIC_ASSERT((boost::is_same< typename Container::key_type, Point >::value))
std::string className() const
BOOST_CONCEPT_ASSERT((concepts::CSTLAssociativeContainer< TContainer >))
void assignFromComplement(const DigitalSetByAssociativeContainer< Domain, Container > &other_set)
DigitalSetByAssociativeContainer(Clone< Domain > d)
Domain::Point Point
Type of points in the space.
void insertNew(const Point &p)
ConstIterator end() const
DigitalSetByAssociativeContainer()
Domain::Space Space
Type of digital space.
void erase(Iterator first, Iterator last)
DigitalSetByAssociativeContainer(const DigitalSetByAssociativeContainer &other)
Iterator find(const Point &p)
CowPtr< Domain > domainPointer() const
const Domain & domain() const
~DigitalSetByAssociativeContainer()
Container::size_type Size
Size type of the container;.
DigitalSetByAssociativeContainer & operator=(const DigitalSetByAssociativeContainer &other)
void insert(const Point &p)
TContainer Container
Container type.
ConstIterator find(const Point &p) const
TDomain Domain
Domain type.
void insert(PointInputIterator first, PointInputIterator last)
Container::value_type value_type
Value type of the container.
DigitalSetByAssociativeContainer< Domain, Container > Self
Self Type.
void computeComplement(TOutputIterator &ito) const
void computeBoundingBox(Point &lower, Point &upper) const
void selfDisplay(std::ostream &out) const
Container::iterator Iterator
Iterator type of the container.
ConstIterator begin() const
Size erase(const Point &p)
BOOST_CONCEPT_ASSERT((concepts::CDomain< TDomain >))
Concept checks.
bool operator()(const Point &p) const
const Container & container() const
Container::const_iterator ConstIterator
ConstIterator type of the container;.
CowPtr< Domain > myDomain
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digit...
Aim: Defines the concept describing an Associative Container of the STL (https://www....
Vector lower(const Vector &z, unsigned int k)
Vector upper(const Vector &z, unsigned int k)