| 
    MUSX Document Model
    
   | 
 
Base class for all "others" types. More...
#include <BaseClasses.h>
 Inheritance diagram for musx::dom::OthersBase:Public Member Functions | |
| OthersBase (const OthersBase &)=default | |
| explicit default copy constructor  | |
| OthersBase (OthersBase &&) noexcept=default | |
| explicit default move constructor  | |
| Cmper | getCmper () const | 
Gets the cmper key value.   | |
| std::optional< Inci > | getInci () const | 
Gets the optional array index (inci).   | |
| Cmper | getRequestedPartId () const | 
| If this instance was retrieved from an object pool, it contains the part ID that was used to retrieve it. If this value is different than getSourcePartId, then this instance is a copy of the pool instance.  | |
  Public Member Functions inherited from musx::dom::Base | |
| virtual | ~Base () noexcept(false)=default | 
| Virtual destructor for polymorphic behavior.  | |
| DocumentPtr | getDocument () const | 
| Gets a reference to the Document.   | |
| Cmper | getSourcePartId () const | 
| Gets the source partId for this instance. If an instance is fully shared with the score, the source is SCORE_PARTID. If an instance is partially shared or non shared, the source is the ID of the part that sourced it.   | |
| ShareMode | getShareMode () const | 
| Gets the sharing mode for this instance.  | |
| const SharedNodes & | getUnlinkedNodes () const | 
Gets the unlinked nodes for this instance. (Only populated for ShareMode::Partial)  | |
| void | addUnlinkedNode (const std::string &nodeName) | 
| Adds a shared node for this instance.  | |
| virtual void | integrityCheck (const std::shared_ptr< Base > &ptrToThis) | 
| Allows a class to determine if it has been properly contructed by the factory and fix issues that it can, such as creating default instances of contained classes.   | |
| virtual bool | requireAllFields () const | 
| Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class.   | |
Protected Member Functions | |
| OthersBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, std::optional< Inci > inci=std::nullopt) | |
| Constructs an OthersBase object.   | |
| OthersBase & | operator= (const OthersBase &other) | 
| Assignment operator delegates to base, preserving OthersBase state.  | |
| OthersBase & | operator= (OthersBase &&other) noexcept | 
| Assignment operator delegates to base, preserving OthersBase state.  | |
  Protected Member Functions inherited from musx::dom::Base | |
| Base (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the base class.   | |
| Base (const Base &)=default | |
| explicit default copy constructor  | |
| Base (Base &&) noexcept=default | |
| explicit default move constructor  | |
| Base & | operator= (const Base &) | 
| no-op copy assignment operator allows subclasses to copy their values.  | |
| Base & | operator= (Base &&) noexcept | 
| no-op move assignment operator allows subclasses to move their values.  | |
Friends | |
| class | PartContextCloner | 
Additional Inherited Members | |
  Public Types inherited from musx::dom::Base | |
| enum class | ShareMode { All , Partial , None } | 
| Describes how this instance is shared between part and score.  More... | |
| using | SharedNodes = std::set< std::string > | 
| The container type for shared nodes.  | |
Base class for all "others" types.
This class provides common attributes and methods for handling "others" types in the DOM, including cmper and inci. 
      
  | 
  inlineprotected | 
Constructs an OthersBase object.
| document | A weak pointer to the parent document | 
| partId | The part Id for this Other, or zero if for score. | 
| shareMode | Usually ShareMode::All. This parameter is used with linked parts data.  | 
| cmper | The Cmper key value.  | 
| inci | The array index (Inci).  | 
      
  | 
  inline | 
Gets the cmper key value. 
cmper value. 
      
  | 
  inline | 
Gets the optional array index (inci). 
inci value.