104 #ifndef _MESHBAREITEMS_HH_
105 #define _MESHBAREITEMS_HH_
121 #include <feel/feelcore/feel.hpp>
211 std::pair<BarePoint, bool>
214 return std::make_pair(
BarePoint( i ),
true );
233 std::pair<BareEdge, bool>
238 return std::make_pair(
BareEdge( i, j ),
true );
243 return std::make_pair(
BareEdge( j, i ),
false );
248 std::pair<BareEdge, bool>
271 be.
first = i < j ? i : j;
313 std::pair<BareFace, bool>
334 std::pair<BareFace, bool>
382 return e1 == e2 || e1 > e2;
402 return e1 == e2 || e1 < e2;
426 template <
typename T>
486 template <
typename BareItem>
490 typedef std::map<BareItem, Feel::size_type, cmpBareItem<BareItem> > container;
491 typedef typename container::size_type size_type;
492 typedef typename container::iterator iterator;
493 typedef typename container::const_iterator const_iterator;
494 typedef std::pair<const BareItem, size_type> value_type;
499 bool isThere( BareItem
const & )
const;
502 size_type
id( BareItem
const & )
const;
505 bool setId( BareItem
const & item, size_type
const i );
508 std::pair<size_type, bool>
addIfNotThere( BareItem
const & );
511 std::pair<size_type, bool>
addIfNotThere( BareItem
const &,
const size_type
id );
519 return container::size();
542 template <
typename BareItem>
545 size_type getId( std::pair<BareItem, size_type>
const & i )
551 template <
typename BareItem>
553 BareItem getItem( std::pair<BareItem, size_type>
const & i )
560 template <
class BareItem>
567 template <
class BareItem>
572 return find( s ) != container::end();
575 template <
class BareItem>
580 const_iterator i = find( s );
582 if ( i != container::end() )
595 template <
class BareItem>
597 typename BareItemsHandler<BareItem>::size_type
600 const_iterator i = find( s );
602 if ( i != container::end() )
609 template <
class BareItem>
611 std::pair<typename BareItemsHandler<BareItem>::size_type,
bool>
614 std::pair<typename BareItemsHandler<BareItem>::iterator,
bool> i( insert( std::make_pair( s, M_id_count ) ) );
619 return std::make_pair( ( i.first ) ->second, i.second );
622 template <
class BareItem>
624 std::pair<typename BareItemsHandler<BareItem>::size_type,
bool>
627 std::pair<typename BareItemsHandler<BareItem>::iterator,
bool> i( insert( std::make_pair( s,
id ) ) );
629 ( i.first ) ->second =
id;
640 return std::make_pair(
id, i.second );
643 template <
class BareItem>
647 return erase( s ) != 0;
650 template <
typename BareItem>
654 std::cout <<
"BareItemsHandler: " << std::endl;
655 std::cout <<
"Number of Items stored: " << this->size() << std::endl;
656 std::cout <<
"Max Id stored : " << this->maxId() << std::endl;
657 std::cout <<
"End of Information";