text: //------------------------------------------------------------------------------
  // <auto-generated>
  //     This code was generated by a RdGen v1.10.
  //
  //     Changes to this file may cause incorrect behavior and will be lost if
  //     the code is regenerated.
  // </auto-generated>
  //------------------------------------------------------------------------------
  #ifndef EXAMPLEMODELNOVA_GENERATED_H
  #define EXAMPLEMODELNOVA_GENERATED_H
  
  
  #include "protocol/Protocol.h"
  #include "types/DateTime.h"
  #include "impl/RdSignal.h"
  #include "impl/RdProperty.h"
  #include "impl/RdList.h"
  #include "impl/RdSet.h"
  #include "impl/RdMap.h"
  #include "base/ISerializersOwner.h"
  #include "base/IUnknownInstance.h"
  #include "serialization/ISerializable.h"
  #include "serialization/Polymorphic.h"
  #include "serialization/NullableSerializer.h"
  #include "serialization/ArraySerializer.h"
  #include "serialization/InternedSerializer.h"
  #include "serialization/SerializationCtx.h"
  #include "serialization/Serializers.h"
  #include "ext/RdExtBase.h"
  #include "task/RdCall.h"
  #include "task/RdEndpoint.h"
  #include "task/RdSymmetricCall.h"
  #include "std/to_string.h"
  #include "std/hash.h"
  #include "std/allocator.h"
  #include "util/enum.h"
  #include "util/gen_util.h"
  
  #include <cstring>
  #include <cstdint>
  #include <vector>
  #include <ctime>
  
  #include "thirdparty.hpp"
  #include "instantiations_ExampleRootNova.h"
  
  #include "ExampleModelNova/Document.Generated.h"
  #include "ExampleModelNova/ScalarExample.Generated.h"
  #include "ExampleModelNova/TextControl.Generated.h"
  
  
  
  #ifdef _MSC_VER
  #pragma warning( push )
  #pragma warning( disable:4250 )
  #pragma warning( disable:4307 )
  #pragma warning( disable:4267 )
  #pragma warning( disable:4244 )
  #pragma warning( disable:4100 )
  #endif
  
  /// <summary>
  /// <p>Generated from: Example.kt:20</p>
  /// </summary>
  namespace org.example {
  
  class ExampleModelNova : public rd::RdExtBase {
  
  public:
      struct ExampleModelNovaSerializersOwner final : public rd::ISerializersOwner {
          void registerSerializersCore(rd::Serializers const& serializers) const override;
      };
      
      static const ExampleModelNovaSerializersOwner serializersOwner;
      
      
  
  public:
      void connect(rd::Lifetime lifetime, rd::IProtocol const * protocol);
      
  
  private:
      // custom serializers
  
  public:
      // constants
  
  protected:
      // fields
      rd::RdSignal<int32_t, rd::Polymorphic<int32_t>> push_;
      rd::RdProperty<int32_t, rd::Polymorphic<int32_t>> version_;
      rd::RdMap<int32_t, Document, rd::Polymorphic<int32_t>, rd::Polymorphic<Document>> documents_;
      rd::RdMap<ScalarExample, TextControl, rd::Polymorphic<ScalarExample>, rd::Polymorphic<TextControl>> editors_;
      
  
  private:
      // initializer
      void initialize();
  
  public:
      // primary ctor
      ExampleModelNova(rd::RdSignal<int32_t, rd::Polymorphic<int32_t>> push_, rd::RdProperty<int32_t, rd::Polymorphic<int32_t>> version_, rd::RdMap<int32_t, Document, rd::Polymorphic<int32_t>, rd::Polymorphic<Document>> documents_, rd::RdMap<ScalarExample, TextControl, rd::Polymorphic<ScalarExample>, rd::Polymorphic<TextControl>> editors_);
      
      // default ctors and dtors
      
      ExampleModelNova();
      
      ExampleModelNova(ExampleModelNova &&) = delete;
      
      ExampleModelNova& operator=(ExampleModelNova &&) = delete;
      
      virtual ~ExampleModelNova() = default;
      
      // reader
      
      // writer
      
      // virtual init
      void init(rd::Lifetime lifetime) const override;
      
      // identify
      void identify(const rd::Identities &identities, rd::RdId const &id) const override;
      
      // getters
      rd::ISource<int32_t> const & get_push() const;
      rd::IProperty<int32_t> const & get_version() const;
      rd::IViewableMap<int32_t, Document> const & get_documents() const;
      rd::IViewableMap<ScalarExample, TextControl> const & get_editors() const;
      
      // intern
  
  private:
      // equals trait
  
  public:
      // equality operators
      friend bool operator==(const ExampleModelNova &lhs, const ExampleModelNova &rhs);
      friend bool operator!=(const ExampleModelNova &lhs, const ExampleModelNova &rhs);
      // hash code trait
      // type name trait
      // static type name trait
  
  private:
      // polymorphic to string
      std::string toString() const override;
  
  public:
      // external to string
      friend std::string to_string(const ExampleModelNova & value);
  };
  
  }
  
  #ifdef _MSC_VER
  #pragma warning( pop )
  #endif
  
  
  
  #endif // EXAMPLEMODELNOVA_GENERATED_H
  