Freeciv-3.3
Loading...
Searching...
No Matches
Public Member Functions | Data Fields | Static Public Attributes
generate_packets.StructType Class Reference
+ Inheritance diagram for generate_packets.StructType:

Public Member Functions

 __init__ (self, str dataio_type, str public_info)
 
 __init__ (self, str dataio_type, "re.Match[str]" public_info)
 
 __init__ (self, str dataio_type, "str | re.Match[str]" public_info)
 
"FieldType" array (self, SizeInfo size)
 
str get_code_param (self, Location location)
 
str get_code_handle_arg (self, Location location, str packet)
 
str get_code_cmp (self, Location location, str new, str old)
 
str get_code_put (self, Location location, str packet, "str | None" diff_packet=None)
 
- Public Member Functions inherited from generate_packets.BasicType
str get_code_declaration (self, Location location)
 
str get_code_hash (self, Location location, str packet)
 
str get_code_get (self, Location location, str packet, bool deep_diff=False)
 
str __str__ (self)
 
- Public Member Functions inherited from generate_packets.FieldType
str get_code_init (self, Location location, str packet)
 
str get_code_copy (self, Location location, str dest, str src)
 
str get_code_fill (self, Location location, str packet)
 
str get_code_free (self, Location location, str packet)
 
bool is_type_compatible (self, "FieldType" other)
 
- Public Member Functions inherited from generate_packets.RawFieldType
str __repr__ (self)
 

Data Fields

 struct_type
 
- Data Fields inherited from generate_packets.BasicType
 dataio_type
 
 public_type
 

Static Public Attributes

 TYPE_PATTERN = re.compile(r"^struct\s+(\w+)$")
 
str struct_type
 
- Static Public Attributes inherited from generate_packets.BasicType
str dataio_type
 
str public_type
 
str DEFAULT_REGISTRY = TypeRegistry(BasicType)
 
- Static Public Attributes inherited from generate_packets.FieldType
bool foldable = False
 
bool complex = False
 
- Static Public Attributes inherited from generate_packets.RawFieldType
str FieldTypeConstructor = typing.Callable[[str, str], RawFieldType]
 

Additional Inherited Members

- Protected Member Functions inherited from generate_packets.FieldType
 _compat_keys (self, Location location, str packet)
 

Detailed Description

Type information for a field of some general struct type

Definition at line 1122 of file generate_packets.py.

Constructor & Destructor Documentation

◆ __init__() [1/3]

generate_packets.StructType.__init__ (   self,
str  dataio_type,
str  public_info 
)

◆ __init__() [2/3]

generate_packets.StructType.__init__ (   self,
str  dataio_type,
"re.Match[str]"  public_info 
)

◆ __init__() [3/3]

generate_packets.StructType.__init__ (   self,
str  dataio_type,
"str | re.Match[str]"  public_info 
)

Member Function Documentation

◆ array()

"FieldType" generate_packets.StructType.array (   self,
SizeInfo  size 
)
Construct a FieldType for an array or vector with element type
self and the given size

Reimplemented from generate_packets.FieldType.

Definition at line 1150 of file generate_packets.py.

◆ get_code_cmp()

str generate_packets.StructType.get_code_cmp (   self,
Location  location,
str  new,
str  old 
)
Generate a code snippet comparing a field of this type between
the given packets and setting `differ` accordingly. The `old`
packet is one we know to have been initialized by our own code.

Reimplemented from generate_packets.BasicType.

Reimplemented in generate_packets.CmParameterType.

Definition at line 1168 of file generate_packets.py.

◆ get_code_handle_arg()

str generate_packets.StructType.get_code_handle_arg (   self,
Location  location,
str  packet 
)
Generate a code fragment passing an argument with this type to a
handle function.

See also self.get_code_param()

Reimplemented from generate_packets.FieldType.

Definition at line 1163 of file generate_packets.py.

◆ get_code_param()

str generate_packets.StructType.get_code_param (   self,
Location  location 
)
Generate a code fragment declaring a parameter with this type for
a handle function.

See also self.get_code_handle_arg()

Reimplemented from generate_packets.BasicType.

Definition at line 1157 of file generate_packets.py.

◆ get_code_put()

str generate_packets.StructType.get_code_put (   self,
Location  location,
str  packet,
"str | None"   diff_packet = None 
)
Generate a code snippet writing a field of this type to the
dataio stream.

Reimplemented from generate_packets.BasicType.

Definition at line 1173 of file generate_packets.py.

Field Documentation

◆ struct_type [1/2]

str generate_packets.StructType.struct_type
static

Definition at line 1131 of file generate_packets.py.

◆ struct_type [2/2]

generate_packets.StructType.struct_type

Definition at line 1147 of file generate_packets.py.

◆ TYPE_PATTERN

generate_packets.StructType.TYPE_PATTERN = re.compile(r"^struct\s+(\w+)$")
static

Definition at line 1125 of file generate_packets.py.