| The Gaudi Framework v32r1 (f65d50dc)

PropertyName.h
Go to the documentation of this file.
1 #ifndef JOBOPTIONSVC_PROPERTY_NAME_H_
2 #define JOBOPTIONSVC_PROPERTY_NAME_H_
3 // ============================================================================
4 // Includes:
5 // ============================================================================
6 // STD & STL:
7 // ============================================================================
8 #include "Position.h"
9 #include <string>
10 // ============================================================================
11 namespace Gaudi {
12 namespace Parsers {
13 // ============================================================================
14 class Position;
15 // ============================================================================
16 class PropertyName final {
17 public:
18 // ----------------------------------------------------------------------------
19 explicit PropertyName( std::string property ) : property_( std::move( property ) ) {}
20 PropertyName( std::string property, const Position& pos )
21 : property_( std::move( property ) ), position_( pos ) {}
22 PropertyName( std::string client, std::string property )
23 : client_( std::move( client ) ), property_( std::move( property ) ) {}
24 PropertyName( std::string client, std::string property, Position pos )
25 : client_( std::move( client ) ), property_( std::move( property ) ), position_( std::move( pos ) ) {}
26 const std::string& client() const { return client_; }
27 const std::string& property() const { return property_; }
28 const Position& position() const { return position_; }
29 std::string FullName() const;
30 std::string ToString() const;
31 bool HasClient() const { return !client_.empty(); }
32 bool HasPosition() const { return position_.Exists(); }
33
34 private:
35 std::string client_;
36 std::string property_;
37 Position position_;
38 };
39 // ============================================================================
40 } // namespace Parsers
41 } // namespace Gaudi
42 // ============================================================================
43 #endif // JOBOPTIONSVC_PROPERTY_NAME_H_
Gaudi::Parsers::PropertyName::position_
Position position_
Definition: PropertyName.h:37
std::string::empty
T empty(T... args)
Gaudi::Parsers::PropertyName::property
const std::string & property() const
Definition: PropertyName.h:27
Gaudi::Parsers::PropertyName::client
const std::string & client() const
Definition: PropertyName.h:26
Gaudi::Parsers::PropertyName::PropertyName
PropertyName(std::string client, std::string property, Position pos)
Definition: PropertyName.h:24
std
STL namespace.
Gaudi::Parsers::PropertyName::property_
std::string property_
Definition: PropertyName.h:36
Gaudi::Parsers::PropertyName::HasClient
bool HasClient() const
Definition: PropertyName.h:31
Gaudi::Parsers::PropertyName::position
const Position & position() const
Definition: PropertyName.h:28
std::string
STL class.
Gaudi::Parsers::Position::Exists
bool Exists() const
Definition: Position.h:23
Gaudi::Parsers::Position
Definition: Position.h:13
Gaudi::Parsers::PropertyName::ToString
std::string ToString() const
Definition: PropertyName.cpp:8
Gaudi::Parsers::PropertyName
Definition: PropertyName.h:16
Gaudi::Parsers::PropertyName::PropertyName
PropertyName(std::string property, const Position &pos)
Definition: PropertyName.h:20
Gaudi::Parsers::PropertyName::PropertyName
PropertyName(std::string client, std::string property)
Definition: PropertyName.h:22
Position.h
Gaudi::Parsers::PropertyName::PropertyName
PropertyName(std::string property)
Definition: PropertyName.h:19
Gaudi::Parsers::PropertyName::HasPosition
bool HasPosition() const
Definition: PropertyName.h:32
Gaudi::Parsers::PropertyName::FullName
std::string FullName() const
Definition: PropertyName.cpp:6
Gaudi::Parsers::PropertyName::client_
std::string client_
Definition: PropertyName.h:35
Gaudi
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1