fson  1.0.2
A comment-preserving C++ library for FSON — a human-friendly superset of JSON / JSON5
fedem::fson::Member Class Referencefinal

#include <Object.hh>

+ Collaboration diagram for fedem::fson::Member:

Public Member Functions

 Member (Key key, std::unique_ptr< Value > value, bool disabled=false)
 
 Member (Member &&other) noexcept=default
 
Memberoperator= (Member &&other) noexcept=default
 
Member clone () const
 
Key const & getKey () const noexcept
 
void setKey (Key key)
 
bool isDisabled () const noexcept
 
void setDisabled (bool disabled) noexcept
 
ValuegetValue () noexcept
 
Value const & getValue () const noexcept
 
void setValue (std::unique_ptr< Value > value)
 
CommentListgetLeadingComments () noexcept
 
CommentList const & getLeadingComments () const noexcept
 
std::optional< Comment > & getTrailingComment () noexcept
 
std::optional< Comment > const & getTrailingComment () const noexcept
 
std::string const & getOriginFile () const noexcept
 
std::string const & getOriginLocalPath () const noexcept
 
void setOrigin (std::string sourceFile, std::string localPath)
 
bool isMerged () const noexcept
 

Private Member Functions

 Member (Member const &)=delete
 
Memberoperator= (Member const &)=delete
 

Private Attributes

Key key
 
bool disabled
 
CommentList leading
 
std::unique_ptr< Valuevalue
 
std::optional< Commenttrailing
 
std::string originFile
 
std::string originLocalPath
 

Constructor & Destructor Documentation

◆ Member() [1/3]

fedem::fson::Member::Member ( Key  key,
std::unique_ptr< Value value,
bool  disabled = false 
)

◆ Member() [2/3]

fedem::fson::Member::Member ( Member &&  other)
defaultnoexcept

◆ Member() [3/3]

fedem::fson::Member::Member ( Member const &  )
privatedelete

Member Function Documentation

◆ operator=() [1/2]

Member& fedem::fson::Member::operator= ( Member &&  other)
defaultnoexcept

◆ clone()

Member fedem::fson::Member::clone ( ) const

◆ getKey()

Key const & fedem::fson::Member::getKey ( ) const
noexcept

References key.

Referenced by fedem::fson::Object::provenanceMap(), fedem::fson::IncludeResolver::resolveObject(), fedem::fson::FsonWriter::writeConvertedMember(), and fedem::fson::FsonWriter::writeObject().

+ Here is the caller graph for this function:

◆ setKey()

void fedem::fson::Member::setKey ( Key  key)

References key.

◆ isDisabled()

bool fedem::fson::Member::isDisabled ( ) const
noexcept

References disabled.

Referenced by fedem::fson::Object::provenanceMap(), fedem::fson::IncludeResolver::resolveObject(), and fedem::fson::FsonWriter::writeObject().

+ Here is the caller graph for this function:

◆ setDisabled()

void fedem::fson::Member::setDisabled ( bool  disabled)
noexcept

◆ getValue() [1/2]

Value & fedem::fson::Member::getValue ( )
noexcept

References value.

Referenced by fedem::fson::FsonParser::parseObjectBody(), fedem::fson::IncludeResolver::resolveObject(), fedem::fson::FsonWriter::writeConvertedMember(), and fedem::fson::FsonWriter::writeObject().

+ Here is the caller graph for this function:

◆ getValue() [2/2]

Value const & fedem::fson::Member::getValue ( ) const
noexcept

References value.

◆ setValue()

void fedem::fson::Member::setValue ( std::unique_ptr< Value value)

References value.

◆ getLeadingComments() [1/2]

CommentList & fedem::fson::Member::getLeadingComments ( )
noexcept

References leading.

Referenced by fedem::fson::FsonParser::parseMember(), and fedem::fson::FsonWriter::writeObject().

+ Here is the caller graph for this function:

◆ getLeadingComments() [2/2]

CommentList const & fedem::fson::Member::getLeadingComments ( ) const
noexcept

References leading.

◆ getTrailingComment() [1/2]

optional< Comment > & fedem::fson::Member::getTrailingComment ( )
noexcept

References trailing.

Referenced by fedem::fson::FsonParser::parseObjectBody(), and fedem::fson::FsonWriter::writeObject().

+ Here is the caller graph for this function:

◆ getTrailingComment() [2/2]

optional< Comment > const & fedem::fson::Member::getTrailingComment ( ) const
noexcept

References trailing.

◆ getOriginFile()

string const & fedem::fson::Member::getOriginFile ( ) const
noexcept

References originFile.

Referenced by fedem::fson::Object::provenanceMap(), fedem::fson::Object::provenanceOf(), and fedem::fson::IncludeResolver::resolveObject().

+ Here is the caller graph for this function:

◆ getOriginLocalPath()

string const & fedem::fson::Member::getOriginLocalPath ( ) const
noexcept

References originLocalPath.

Referenced by fedem::fson::Object::provenanceMap(), fedem::fson::Object::provenanceOf(), and fedem::fson::IncludeResolver::resolveObject().

+ Here is the caller graph for this function:

◆ setOrigin()

void fedem::fson::Member::setOrigin ( std::string  sourceFile,
std::string  localPath 
)

References originFile, and originLocalPath.

Referenced by fedem::fson::IncludeResolver::resolveObject().

+ Here is the caller graph for this function:

◆ isMerged()

bool fedem::fson::Member::isMerged ( ) const
noexcept

References originFile.

Referenced by fedem::fson::Object::isLocal(), fedem::fson::Object::provenanceMap(), fedem::fson::Object::provenanceOf(), fedem::fson::IncludeResolver::resolveObject(), and fedem::fson::FsonWriter::writeObject().

+ Here is the caller graph for this function:

◆ operator=() [2/2]

Member& fedem::fson::Member::operator= ( Member const &  )
privatedelete

Member Data Documentation

◆ key

Key fedem::fson::Member::key
private

Referenced by clone(), getKey(), and setKey().

◆ disabled

bool fedem::fson::Member::disabled
private

Referenced by clone(), and isDisabled().

◆ leading

CommentList fedem::fson::Member::leading
private

Referenced by clone(), and getLeadingComments().

◆ value

std::unique_ptr< Value > fedem::fson::Member::value
private

Referenced by clone(), getValue(), and setValue().

◆ trailing

std::optional< Comment > fedem::fson::Member::trailing
private

Referenced by clone(), and getTrailingComment().

◆ originFile

std::string fedem::fson::Member::originFile
private

◆ originLocalPath

std::string fedem::fson::Member::originLocalPath
private

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