0.6.1
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
clanguml::common::model::anyof_filter Struct Reference

Detailed Description

Definition at line 137 of file diagram_filter.h.

#include <diagram_filter.h>

Public Member Functions

 anyof_filter (filter_t type, std::vector< std::unique_ptr< filter_visitor > > filters)
 
 ~anyof_filter () override=default
 
tvl::value_t match (const diagram &d, const common::model::element &e) const override
 
tvl::value_t match (const diagram &d, const common::model::relationship_t &r) const override
 
tvl::value_t match (const diagram &d, const common::model::access_t &a) const override
 
tvl::value_t match (const diagram &d, const common::model::namespace_ &ns) const override
 
tvl::value_t match (const diagram &d, const common::model::source_file &f) const override
 
tvl::value_t match (const diagram &d, const common::model::source_location &f) const override
 
tvl::value_t match (const diagram &d, const class_diagram::model::class_method &m) const override
 
tvl::value_t match (const diagram &d, const class_diagram::model::class_member &m) const override
 
tvl::value_t match (const diagram &d, const sequence_diagram::model::participant &p) const override
 
void reset () override
 
- Public Member Functions inherited from clanguml::common::model::filter_visitor
 filter_visitor (filter_t type)
 
virtual ~filter_visitor ()=default
 
virtual tvl::value_t match (const diagram &d, const common::model::element &e) const
 
virtual tvl::value_t match (const diagram &d, const common::model::relationship &r) const
 
virtual tvl::value_t match (const diagram &d, const common::model::relationship_t &r) const
 
virtual tvl::value_t match (const diagram &d, const common::model::access_t &a) const
 
virtual tvl::value_t match (const diagram &d, const common::model::namespace_ &ns) const
 
virtual tvl::value_t match (const diagram &d, const common::model::source_file &f) const
 
virtual tvl::value_t match (const diagram &d, const common::model::source_location &f) const
 
virtual tvl::value_t match (const diagram &d, const class_diagram::model::class_method &m) const
 
virtual tvl::value_t match (const diagram &d, const class_diagram::model::class_member &m) const
 
virtual tvl::value_t match (const diagram &d, const class_diagram::model::objc_method &m) const
 
virtual tvl::value_t match (const diagram &d, const class_diagram::model::objc_member &m) const
 
virtual tvl::value_t match (const diagram &d, const sequence_diagram::model::participant &p) const
 
bool is_inclusive () const
 
bool is_exclusive () const
 
filter_t type () const
 
filter_mode_t mode () const
 
void set_mode (filter_mode_t mode)
 
virtual void reset ()
 

Private Member Functions

template<typename E >
tvl::value_t match_anyof (const diagram &d, const E &element) const
 

Private Attributes

std::vector< std::unique_ptr< filter_visitor > > filters_
 

Constructor & Destructor Documentation

◆ anyof_filter()

clanguml::common::model::anyof_filter::anyof_filter ( filter_t  type,
std::vector< std::unique_ptr< filter_visitor > >  filters 
)

Definition at line 186 of file diagram_filter.cc.

189 , filters_{std::move(filters)}
190{
191}

◆ ~anyof_filter()

clanguml::common::model::anyof_filter::~anyof_filter ( )
overridedefault

Member Function Documentation

◆ match() [1/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const class_diagram::model::class_member m 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 241 of file diagram_filter.cc.

243{
244 return match_anyof(d, m);
245}

◆ match() [2/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const class_diagram::model::class_method m 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 235 of file diagram_filter.cc.

237{
238 return match_anyof(d, m);
239}

◆ match() [3/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const common::model::access_t a 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 211 of file diagram_filter.cc.

213{
214 return match_anyof(d, a);
215}

◆ match() [4/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const common::model::element e 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 199 of file diagram_filter.cc.

201{
202 return match_anyof(d, e);
203}

◆ match() [5/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const common::model::namespace_ ns 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 217 of file diagram_filter.cc.

219{
220 return match_anyof(d, ns);
221}

◆ match() [6/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const common::model::relationship_t r 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 205 of file diagram_filter.cc.

207{
208 return match_anyof(d, r);
209}

◆ match() [7/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const common::model::source_file f 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 223 of file diagram_filter.cc.

225{
226 return match_anyof(d, f);
227}

◆ match() [8/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const common::model::source_location f 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 229 of file diagram_filter.cc.

231{
232 return match_anyof(d, f);
233}

◆ match() [9/9]

tvl::value_t clanguml::common::model::anyof_filter::match ( const diagram d,
const sequence_diagram::model::participant p 
) const
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 247 of file diagram_filter.cc.

249{
250 return match_anyof(d, p);
251}

◆ match_anyof()

template<typename E >
tvl::value_t clanguml::common::model::anyof_filter::match_anyof ( const diagram d,
const E &  element 
) const
inlineprivate

Definition at line 174 of file diagram_filter.h.

175 {
176 auto result = tvl::any_of(filters_.begin(), filters_.end(),
177 [&d, &element](const auto &f) { return f->match(d, element); });
178
179 if (mode() == filter_mode_t::advanced && !d.complete())
180 return type() == filter_t::kInclusive;
181
182 return result;
183 }

◆ reset()

void clanguml::common::model::anyof_filter::reset ( )
overridevirtual

Reimplemented from clanguml::common::model::filter_visitor.

Definition at line 193 of file diagram_filter.cc.

194{
195 for (auto &f : filters_)
196 f->reset();
197}

Member Data Documentation

◆ filters_

std::vector<std::unique_ptr<filter_visitor> > clanguml::common::model::anyof_filter::filters_
private

Definition at line 185 of file diagram_filter.h.


The documentation for this struct was generated from the following files: