The Gaudi Framework  master (d98a2936)
PropertyName.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #pragma once
12 
13 #include "Position.h"
14 #include <string>
15 
16 namespace Gaudi {
17  namespace Parsers {
18  class Position;
19  class PropertyName final {
20  public:
21  explicit PropertyName( std::string property ) : property_( std::move( property ) ) {}
22  PropertyName( std::string property, const Position& pos )
23  : property_( std::move( property ) ), position_( pos ) {}
24  PropertyName( std::string client, std::string property )
25  : client_( std::move( client ) ), property_( std::move( property ) ) {}
26  PropertyName( std::string client, std::string property, Position pos )
27  : client_( std::move( client ) ), property_( std::move( property ) ), position_( std::move( pos ) ) {}
28  const std::string& client() const { return client_; }
29  const std::string& property() const { return property_; }
30  const Position& position() const { return position_; }
31  std::string FullName() const;
32  std::string ToString() const;
33  bool HasClient() const { return !client_.empty(); }
34  bool HasPosition() const { return position_.Exists(); }
35 
36  private:
37  std::string client_;
38  std::string property_;
40  };
41  } // namespace Parsers
42 } // namespace Gaudi
Gaudi::Parsers::PropertyName::HasPosition
bool HasPosition() const
Definition: PropertyName.h:34
Gaudi::Parsers::PropertyName::PropertyName
PropertyName(std::string client, std::string property)
Definition: PropertyName.h:24
Gaudi::Parsers::PropertyName::PropertyName
PropertyName(std::string client, std::string property, Position pos)
Definition: PropertyName.h:26
Gaudi::Parsers::PropertyName::client_
std::string client_
Definition: PropertyName.h:37
GaudiPartProp.decorators.std
std
Definition: decorators.py:32
Gaudi::Parsers::Position::Exists
bool Exists() const
Definition: Position.h:27
Gaudi::Parsers::PropertyName::position
const Position & position() const
Definition: PropertyName.h:30
Gaudi::Parsers::PropertyName::client
const std::string & client() const
Definition: PropertyName.h:28
Gaudi::Parsers::PropertyName::HasClient
bool HasClient() const
Definition: PropertyName.h:33
Gaudi::Parsers::Position
Definition: Position.h:17
Gaudi::Parsers::PropertyName::ToString
std::string ToString() const
Definition: PropertyName.cpp:14
Gaudi::Parsers::PropertyName::PropertyName
PropertyName(std::string property, const Position &pos)
Definition: PropertyName.h:22
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
Gaudi::Parsers::PropertyName::PropertyName
PropertyName(std::string property)
Definition: PropertyName.h:21
Position.h
Gaudi::Parsers::PropertyName::position_
Position position_
Definition: PropertyName.h:39
Gaudi::Parsers::PropertyName::FullName
std::string FullName() const
Definition: PropertyName.cpp:13
Gaudi::Parsers::PropertyName
Definition: PropertyName.h:19
Gaudi::Parsers::PropertyName::property_
std::string property_
Definition: PropertyName.h:38
Gaudi::Parsers::PropertyName::property
const std::string & property() const
Definition: PropertyName.h:29