.. index:: single: flags .. _flags/0: .. rst-class:: right **category** ``flags`` ========= Implementation of persistent object flags. | **Availability:** | ``logtalk_load(flags(loader))`` | **Author:** Theofrastos Mantadelis | **Version:** 1:0:0 | **Date:** 2010-11-27 | **Compilation flags:** | ``static`` | **Dependencies:** | (none) | **Remarks:** | (none) | **Inherited public predicates:** | (none) .. contents:: :local: :backlinks: top Public predicates ----------------- .. index:: get_flag_value/2 .. _flags/0::get_flag_value/2: ``get_flag_value/2`` ^^^^^^^^^^^^^^^^^^^^ Gets or tests the value of a flag. | **Compilation flags:** | ``static`` | **Template:** | ``get_flag_value(Flag,Value)`` | **Mode and number of proofs:** | ``get_flag_value(+atom,?nonvar)`` - ``zero_or_one`` ------------ .. index:: set_flag_value/2 .. _flags/0::set_flag_value/2: ``set_flag_value/2`` ^^^^^^^^^^^^^^^^^^^^ Sets the value of a flag. | **Compilation flags:** | ``static`` | **Template:** | ``set_flag_value(Flag,NewValue)`` | **Mode and number of proofs:** | ``set_flag_value(+atom,@nonvar)`` - ``one`` ------------ .. index:: set_flag_value/3 .. _flags/0::set_flag_value/3: ``set_flag_value/3`` ^^^^^^^^^^^^^^^^^^^^ Sets the value of a flag, returning the old value. | **Compilation flags:** | ``static`` | **Template:** | ``set_flag_value(Flag,OldValue,NewValue)`` | **Mode and number of proofs:** | ``set_flag_value(+atom,?nonvar,@nonvar)`` - ``one`` ------------ .. index:: reset_flags/0 .. _flags/0::reset_flags/0: ``reset_flags/0`` ^^^^^^^^^^^^^^^^^ Resets all flags to their default values. | **Compilation flags:** | ``static`` | **Mode and number of proofs:** | ``reset_flags`` - ``one`` ------------ .. index:: reset_flags/1 .. _flags/0::reset_flags/1: ``reset_flags/1`` ^^^^^^^^^^^^^^^^^ Resets all flags in a group to their default values. | **Compilation flags:** | ``static`` | **Template:** | ``reset_flags(Group)`` | **Mode and number of proofs:** | ``reset_flags(+atom)`` - ``one`` ------------ .. index:: flag_groups/1 .. _flags/0::flag_groups/1: ``flag_groups/1`` ^^^^^^^^^^^^^^^^^ Returns a list of all flag groups. | **Compilation flags:** | ``static`` | **Template:** | ``flag_groups(Groups)`` | **Mode and number of proofs:** | ``flag_groups(-list(atom))`` - ``one`` ------------ .. index:: flag_group_chk/1 .. _flags/0::flag_group_chk/1: ``flag_group_chk/1`` ^^^^^^^^^^^^^^^^^^^^ Checks if a given atom is a flag group. | **Compilation flags:** | ``static`` | **Template:** | ``flag_group_chk(Group)`` | **Mode and number of proofs:** | ``flag_group_chk(+atom)`` - ``zero_or_one`` ------------ .. index:: print_flags/0 .. _flags/0::print_flags/0: ``print_flags/0`` ^^^^^^^^^^^^^^^^^ Prints a listing of all flags. | **Compilation flags:** | ``static`` | **Mode and number of proofs:** | ``print_flags`` - ``one`` ------------ .. index:: print_flags/1 .. _flags/0::print_flags/1: ``print_flags/1`` ^^^^^^^^^^^^^^^^^ Prints a listing of all flags in a group. | **Compilation flags:** | ``static`` | **Template:** | ``print_flags(Group)`` | **Mode and number of proofs:** | ``print_flags(+atom)`` - ``one`` ------------ .. index:: defined_flag/6 .. _flags/0::defined_flag/6: ``defined_flag/6`` ^^^^^^^^^^^^^^^^^^ Gets or test the existing (visible) flag definitions. | **Compilation flags:** | ``static`` | **Template:** | ``defined_flag(Flag,Group,Type,DefaultValue,Description,Access)`` | **Mode and number of proofs:** | ``defined_flag(?atom,?atom,?nonvar,?nonvar,?atom,?atom)`` - ``zero_or_more`` ------------ .. index:: built_in_flag/2 .. _flags/0::built_in_flag/2: ``built_in_flag/2`` ^^^^^^^^^^^^^^^^^^^ True if the argument is a built-in flag type with the specified default value. | **Compilation flags:** | ``static`` | **Template:** | ``built_in_flag(Type,DefaultValue)`` | **Mode and number of proofs:** | ``built_in_flag(?atom,?nonvar)`` - ``zero_or_more`` ------------ Protected predicates -------------------- .. index:: unsafe_set_flag_value/2 .. _flags/0::unsafe_set_flag_value/2: ``unsafe_set_flag_value/2`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sets the value of a flag without performing any validation checks. | **Compilation flags:** | ``static`` | **Template:** | ``unsafe_set_flag_value(Flag,NewValue)`` | **Mode and number of proofs:** | ``unsafe_set_flag_value(+atom,@nonvar)`` - ``one`` ------------ .. index:: define_flag/1 .. _flags/0::define_flag/1: ``define_flag/1`` ^^^^^^^^^^^^^^^^^ Defines a new flag using default options. | **Compilation flags:** | ``static`` | **Template:** | ``define_flag(Flag)`` | **Mode and number of proofs:** | ``define_flag(+atom)`` - ``one`` ------------ .. index:: define_flag/2 .. _flags/0::define_flag/2: ``define_flag/2`` ^^^^^^^^^^^^^^^^^ Defines a new flag using a given set of options (for example, [group(general), type(nonvar), default(true), description(Flag), access(read_write)]). | **Compilation flags:** | ``static`` | **Template:** | ``define_flag(Flag,Options)`` | **Mode and number of proofs:** | ``define_flag(+atom,@list)`` - ``one`` ------------ Private predicates ------------------ .. index:: defined_flag_/6 .. _flags/0::defined_flag_/6: ``defined_flag_/6`` ^^^^^^^^^^^^^^^^^^^ Gets or test the existing flag definitions. | **Compilation flags:** | ``dynamic`` | **Template:** | ``defined_flag_(Flag,Group,Type,DefaultValue,Description,Access)`` | **Mode and number of proofs:** | ``defined_flag_(?atom,?atom,?nonvar,?nonvar,?atom,?atom)`` - ``zero_or_more`` ------------ .. index:: flag_value_/2 .. _flags/0::flag_value_/2: ``flag_value_/2`` ^^^^^^^^^^^^^^^^^ Table of flag values. | **Compilation flags:** | ``dynamic`` | **Template:** | ``flag_value_(Flag,Value)`` | **Mode and number of proofs:** | ``flag_value_(?atom,?nonvar)`` - ``zero_or_more`` ------------ .. index:: validate/3 .. _flags/0::validate/3: ``validate/3`` ^^^^^^^^^^^^^^ | **Compilation flags:** | ``static`` ------------ .. index:: validate_type/1 .. _flags/0::validate_type/1: ``validate_type/1`` ^^^^^^^^^^^^^^^^^^^ | **Compilation flags:** | ``static`` ------------ .. index:: is_validator/1 .. _flags/0::is_validator/1: ``is_validator/1`` ^^^^^^^^^^^^^^^^^^ | **Compilation flags:** | ``static`` ------------ Operators --------- (none)