0.5.4
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 128 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
 
- 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 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)
 

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 172 of file diagram_filter.cc.

175 , filters_{std::move(filters)}
176{
177}

◆ ~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 221 of file diagram_filter.cc.

223{
224 return match_anyof(d, m);
225}

◆ 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 215 of file diagram_filter.cc.

217{
218 return match_anyof(d, m);
219}

◆ 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 191 of file diagram_filter.cc.

193{
194 return match_anyof(d, a);
195}

◆ 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 179 of file diagram_filter.cc.

181{
182 return match_anyof(d, e);
183}

◆ 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 197 of file diagram_filter.cc.

199{
200 return match_anyof(d, ns);
201}

◆ 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 185 of file diagram_filter.cc.

187{
188 return match_anyof(d, r);
189}

◆ 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 203 of file diagram_filter.cc.

205{
206 return match_anyof(d, f);
207}

◆ 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 209 of file diagram_filter.cc.

211{
212 return match_anyof(d, f);
213}

◆ 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 227 of file diagram_filter.cc.

229{
230 return match_anyof(d, p);
231}

◆ 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 163 of file diagram_filter.h.

164 {
165 auto result = tvl::any_of(filters_.begin(), filters_.end(),
166 [&d, &element](const auto &f) { return f->match(d, element); });
167
168 if (mode() == filter_mode_t::advanced && !d.complete())
169 return type() == filter_t::kInclusive;
170
171 return result;
172 }

Member Data Documentation

◆ filters_

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

Definition at line 174 of file diagram_filter.h.


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