OpenTTD
Public Member Functions | Data Fields
AllowedSubtags Struct Reference

Data structure to store the allowed id/type combinations for action 14. More...

Public Member Functions

 AllowedSubtags ()
 Create empty subtags object used to identify the end of a list. More...
 
 AllowedSubtags (uint32 id, DataHandler handler)
 Create a binary leaf node. More...
 
 AllowedSubtags (uint32 id, TextHandler handler)
 Create a text leaf node. More...
 
 AllowedSubtags (uint32 id, BranchHandler handler)
 Create a branch node with a callback handler. More...
 
 AllowedSubtags (uint32 id, AllowedSubtags *subtags)
 Create a branch node with a list of sub-nodes. More...
 

Data Fields

uint32 id
 The identifier for this node.
 
byte type
 The type of the node, must be one of 'C', 'B' or 'T'.
 
union {
   DataHandler   data
 Callback function for a binary node, only valid if type == 'B'.
 
   TextHandler   text
 Callback function for a text node, only valid if type == 'T'.
 
   struct {
      union {
         BranchHandler   branch
 Callback function for a branch node, only valid if type == 'C' && call_handler.
 
         AllowedSubtags *   subtags
 Pointer to a list of subtags, only valid if type == 'C' && !call_handler.
 
      }   u
 
      bool   call_handler
 True if there is a callback function for this node, false if there is a list of subnodes.
 
   } 
 
handler
 

Detailed Description

Data structure to store the allowed id/type combinations for action 14.

The data can be represented as a tree with 3 types of nodes:

  1. Branch nodes (identified by 'C' for choice).
  2. Binary leaf nodes (identified by 'B').
  3. Text leaf nodes (identified by 'T').

Definition at line 7520 of file newgrf.cpp.

Constructor & Destructor Documentation

◆ AllowedSubtags() [1/5]

AllowedSubtags::AllowedSubtags ( )
inline

Create empty subtags object used to identify the end of a list.

Definition at line 7522 of file newgrf.cpp.

◆ AllowedSubtags() [2/5]

AllowedSubtags::AllowedSubtags ( uint32  id,
DataHandler  handler 
)
inline

Create a binary leaf node.

Parameters
idThe id for this node.
handlerThe callback function to call.

Definition at line 7532 of file newgrf.cpp.

◆ AllowedSubtags() [3/5]

AllowedSubtags::AllowedSubtags ( uint32  id,
TextHandler  handler 
)
inline

Create a text leaf node.

Parameters
idThe id for this node.
handlerThe callback function to call.

Definition at line 7544 of file newgrf.cpp.

◆ AllowedSubtags() [4/5]

AllowedSubtags::AllowedSubtags ( uint32  id,
BranchHandler  handler 
)
inline

Create a branch node with a callback handler.

Parameters
idThe id for this node.
handlerThe callback function to call.

Definition at line 7556 of file newgrf.cpp.

◆ AllowedSubtags() [5/5]

AllowedSubtags::AllowedSubtags ( uint32  id,
AllowedSubtags subtags 
)
inline

Create a branch node with a list of sub-nodes.

Parameters
idThe id for this node.
subtagsArray with all valid subtags.

Definition at line 7569 of file newgrf.cpp.


The documentation for this struct was generated from the following file: