MEPP2 Project
AIFEdge.inl
Go to the documentation of this file.
1 // Copyright (c) 2012-2019 University of Lyon and CNRS (France).
2 // All rights reserved.
3 //
4 // This file is part of MEPP2; you can redistribute it and/or modify
5 // it under the terms of the GNU Lesser General Public License as
6 // published by the Free Software Foundation; either version 3 of
7 // the License, or (at your option) any later version.
8 //
9 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
10 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
11 #ifndef __AIFEdge_cxx
12 #define __AIFEdge_cxx
13 
15 
16 namespace FEVV {
17 namespace DataStructures {
18 namespace AIF {
19 
20 inline
23 {
24  ptr_edge ptr(new self());
25  return ptr;
26 }
27 
28 inline
30 AIFEdge::New(const self &other)
31 {
32  ptr_edge ptr(new self(other));
33  return ptr;
34 }
35 
36 inline
37 bool
38 AIFEdge::operator<(const self &other) const
39 {
40  return AIFEdgeComparator().operator()(
41  *this, other); // Use natural ordering defined in AIFEdgeComparator class
42 }
43 
44 inline
45 bool
46 AIFEdge::operator==(const self &other) const
47 {
48  return !(*this < other) && !(other < *this);
49 }
50 
51 inline
52 void
54 {
55  std::cout << "edge " << this << " at index " << GetIndex() << " ["
56  << &(*get_first_vertex()) << "," << &(*get_second_vertex()) << "]"
57  << std::endl;
58 }
59 
60 } // namespace AIF
61 } // namespace DataStructures
62 } // namespace FEVV
63 
64 #endif
FEVV::DataStructures::AIF::AIFEdge::get_second_vertex
ptr_vertex get_second_vertex() const
Definition: AIFEdge.hpp:164
FEVV::DataStructures::AIF::AIFEdge::Print
void Print() const
Definition: AIFEdge.inl:53
FEVV::DataStructures::AIF::AIFEdge::operator==
bool operator==(const self &other) const
Definition: AIFEdge.inl:46
FEVV::DataStructures::AIF::AIFEdge::GetIndex
std::size_t GetIndex() const
Definition: AIFEdge.hpp:170
FEVV::DataStructures::AIF::AIFEdge::ptr_edge
boost::shared_ptr< self > ptr_edge
Definition: AIFEdge.hpp:57
AIFEdgeComparator.hpp
FEVV::DataStructures::AIF::AIFEdge::New
static ptr_edge New()
Definition: AIFEdge.inl:22
FEVV::DataStructures::AIF::AIFEdge::operator<
bool operator<(const self &other) const
Definition: AIFEdge.inl:38
FEVV::DataStructures::AIF::AIFEdge::AIFEdgeComparator
friend class AIFEdgeComparator
Definition: AIFEdge.hpp:51
FEVV
Interfaces for plugins These interfaces will be used for different plugins.
Definition: Assert.h:16
FEVV::DataStructures::AIF::AIFEdge::get_first_vertex
ptr_vertex get_first_vertex() const
Definition: AIFEdge.hpp:158
FEVV::DataStructures::AIF::AIFEdge::ptr
boost::shared_ptr< self > ptr
Definition: AIFEdge.hpp:56