view Resources/CodeGeneration/Graveyard/playground4.py @ 1314:9b126de2cde2 broker

Since the observer system now uses shared_ptr and many registrations are done in the constructors, and since we cannot called shared_from_this() in the constructors, it is mandatory to split construction from registration. This has been done by making many ctors protected and replacing them by factory methods that directly return shared_ptrs + added PostConstructor method when base classes perform shared_from_this() calls too.
author Benjamin Golinvaux <bgo@osimis.io>
date Mon, 16 Mar 2020 11:19:50 +0100
parents 6405435480ae
children
line wrap: on
line source

testYaml = """
enum SomeEnum:
 - january
 - feb

struct Message0:
 a: string

struct Message1:
 a: string
 b: int32
 c: vector<Message0>
 d: SomeEnum = january
 e: SomeEnum= january
 f: SomeEnum=january
 g: SomeEnum =january
  

# github.com/AlDanial/cloc
header2 : 
  cloc_version       : 1.67
  elapsed_seconds    : int32_t

header : 
  cloc_version       : 1.67
  elapsed_seconds    : int32_t
  cloc_url           : vector<map<string,int32>>
  n_files            : 1
  n_lines            : 3
  files_per_second   : 221.393718659277
  lines_per_second   : 664.181155977831
  report_file        : IDL.idl.yaml
IDL :
  nFiles: 1
  blank: 0
  comment: 2
  code: 1
EnumSUM: 
  - aaa
  - bbb

SUM: 
  blank: 0
  comment: 2
  code: 1
  nFiles: 1
"""

import yaml

b = yaml.load(testYaml)
print(b)

c = {
  'enum SomeEnum': ['january', 'feb'], 
  'struct Message0': {'a': 'string'}, 
  'struct Message1': {
    'a': 'string', 
    'b': 'int32', 
    'c': 'vector<Message0>', 
    'd': 'vector<map<string,int32>>', 
    'e': 'SomeEnum= january', 
    'f': 'SomeEnum=january', 
    'g': 'SomeEnum =january'
  }, 
}

print(c)