globus_rsl_constructors(3)

πŸ“¦
version 11.4 Β· 5 versions
, in epel 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

✨ globus_rsl_constructors β€” RSL Constructors ✨

okay bestie, welcome to the globus_rsl_constructors(3) page πŸ’– this is the part of the globus_rsl library that builds RSL parse tree nodes for you. It's giving factory vibes. It's giving "I make the tree, you enjoy the tree" energy. RSL Constructors. That's the whole name, that's the whole assignment. πŸ‘‘


🌸 SYNOPSIS 🌸

Functions

globus_rsl_t * globus_rsl_make_boolean (int operator, globus_list_t *children)
globus_rsl_t * globus_rsl_make_relation (int operator, char *attributename,
    globus_rsl_value_t *value_sequence)
globus_rsl_value_t * globus_rsl_value_make_literal (char *string)
globus_rsl_value_t * globus_rsl_value_make_sequence (globus_list_t *value_list)
globus_rsl_value_t * globus_rsl_value_make_variable (globus_rsl_value_t *sequence)
globus_rsl_value_t * globus_rsl_value_make_concatenation (globus_rsl_value_t *left_value,
    globus_rsl_value_t *right_value)
  • globus_rsl_make_boolean β€” RSL boolean constructor.
  • globus_rsl_make_relation β€” RSL relation constructor.
  • globus_rsl_value_make_literal β€” RSL literal constructor.
  • globus_rsl_value_make_sequence β€” RSL value sequence constructor.
  • globus_rsl_value_make_variable β€” RSL variable reference constructor.
  • globus_rsl_value_make_concatenation β€” RSL concatenation constructor.

🌈 DETAILED DESCRIPTION 🌈

RSL Constructors. Six little functions, one big glow-up for your parse tree. Each one hands you back a brand new node, and β€” this is the ✨iconic✨ part β€” every single one of them keeps a shallow reference to the stuff you passed in. Not a copy. So don't go freeing your inputs and then acting surprised, bestie. πŸ™ˆ


πŸŽ€ FUNCTION DOCUMENTATION πŸŽ€

globus_rsl_t * globus_rsl_make_boolean (int operator, globus_list_t * children)

RSL boolean constructor. The globus_rsl_make_boolean() function creates a boolean composition of the RSL nodes in the list pointed to by children. The new RSL node which is returned contains a reference to the list, not a copy. πŸ’…

Parameters

  • operator β€” the boolean RSL operator to use to join the RSL parse tree list pointed to by the children parameter. This value must be one of GLOBUS_RSL_AND, GLOBUS_RSL_OR, GLOBUS_RSL_MULTIREQ in order to create a valid RSL tree. No substitutions, no vibes-based guessing, just those three. 🫢
  • children β€” pointer to a list of RSL syntax trees to combine with the boolean operation described by the operator parameter.

Returns

The globus_rsl_make_boolean() function returns a new RSL parse tree node that contains a shallow reference to the list of values pointed to by the children parameter joined by the operator value in the operator parameter. If an error occurs, globus_rsl_make_boolean() returns NULL. 😭


globus_rsl_t * globus_rsl_make_relation (int operator, char * attributename, globus_rsl_value_t * value_sequence)

RSL relation constructor. The globus_rsl_make_relation() function creates a relation between the attribute named by the attributename parameter and the values pointed to by the value_sequence list. The new RSL relation node which is returned contains a reference to the attributename and value_sequence parameters, not a copy. ✨

Parameters

  • operator β€” the RSL operator to use to relate the RSL attribute name pointed to by the attributename parameter and the values pointed to by the value_sequence parameter. This value must be one of GLOBUS_RSL_EQ, GLOBUS_RSL_NEQ, GLOBUS_RSL_GT, GLOBUS_RSL_GTEQ, GLOBUS_RSL_LT, or GLOBUS_RSL_LTEQ in order to create a valid RSL node. That's the whole guest list, no plus-ones. πŸŽ€
  • attributename β€” pointer to a string naming the attribute of the new RSL relation.
  • value_sequence β€” pointer to a sequence of RSL values to use in the new RSL relation.

Returns

The globus_rsl_make_relation() function returns a new RSL parse tree node that contains a shallow reference to the attribute name pointed to by the attributename parameter and the RSL value sequence pointed to by the value_sequence parameter. If an error occurs, globus_rsl_make_relation() returns NULL. πŸ’€


globus_rsl_value_t * globus_rsl_value_make_concatenation (globus_rsl_value_t * left_value, globus_rsl_value_t * right_value)

RSL concatenation constructor. The globus_rsl_value_make_concatenation() function creates a concatenation of the values pointed to by the left_value and right_value parameters. The new node returned by this function contains a reference to these parameters' values, not a copy. πŸ¦‹

Parameters

  • left_value β€” a pointer to a RSL value to act as the left side of the concatenation. This must be a string literal or variable reference.
  • right_value β€” a pointer to a RSL value to act as the right side of the concatenation. This must be a string literal or variable reference.

Returns

The globus_rsl_value_make_concatenation() function returns a new RSL value node that contains a shallow reference to the values pointed to by the left_value and right_value parameters. If an error occurs, globus_rsl_value_make_concatenation() returns NULL. 😭


globus_rsl_value_t * globus_rsl_value_make_literal (char * string)

RSL literal constructor. The globus_rsl_value_make_literal() function creates a string literal RSL value node containing the value pointed to by the string parameter. The new RSL value node which is returned contains a reference to the string parameter, not a copy. πŸ“

Parameters

  • string β€” the literal string to be used in the new value.

Returns

The globus_rsl_value_make_literal() function returns a new RSL value node that contains a shallow reference to the string pointed to by the string parameter. If an error occurs, globus_rsl_value_make_literal() returns NULL. πŸ’œ


globus_rsl_value_t * globus_rsl_value_make_sequence (globus_list_t * value_list)

RSL value sequence constructor. The globus_rsl_value_make_sequence() function creates a value sequence RSL node referring to the values pointed to by the value_list parameter. The new node returned by this function contains a reference to the value_list parameter, not a copy. 🌸

Parameters

  • value_list β€” a pointer to a list of globus_rsl_value_t pointers.

Returns

The globus_rsl_value_make_sequence() function returns a new RSL value node that contains a shallow reference to the list pointed to by the value_list parameter. If an error occurs, globus_rsl_value_make_sequence() returns NULL. 😭


globus_rsl_value_t * globus_rsl_value_make_variable (globus_rsl_value_t * sequence)

RSL variable reference constructor. The globus_rsl_value_make_variable() function creates a variable reference RSL node referring to the variable name contained in the value pointed to by the sequence parameter. The new node returned by this function contains a reference to the sequence parameter, not a copy. 🧚

Parameters

  • sequence β€” a pointer to a RSL value sequence.

Returns

The globus_rsl_value_make_variable() function returns a new RSL value node that contains a shallow reference to the value sequence pointed to by the sequence parameter. If an error occurs, globus_rsl_value_make_variable() returns NULL. πŸ’€


πŸ‘‘ AUTHOR πŸ‘‘

Generated automatically by Doxygen for globus_rsl from the source code. Not me writing fanfic, just Doxygen doing its lil thing. ✨


and that's the whole page, bestie!! 🫢 globus_rsl, Version 11.4, globus_rsl_constructors(3) β€” go forth and construct responsibly, shallow references and all. no cap. πŸ’…πŸŽ€

πŸ“¦ where this page comes from