File condition.hpp

Parent directory (cif++)

Definition (cif++/condition.hpp)

Detailed Description

This file contains code to create conditions: object encapsulating a query you can use to find rows in a Class category

Conditions are created as standard C++ expressions. That means you can use the standard comparison operators to compare item contents with a value and boolean operators to chain everything together.

To create a query that simply compares one item with one value:

:ref:`exhale_class_classcif_1_1condition`c=:ref:`exhale_struct_structcif_1_1key`(“id”)==1;

That will find rows where the ID item contains the number 1. If using Struct key is a bit too much typing, you can also write:

usingnamespacecif::literals;

:ref:`exhale_class_classcif_1_1condition`c2=”id”_key==1;

Now if you want both ID = 1 and ID = 2 in the result:

autoc3=”id”_key==1or”id”_key==2;

There are some special values you can use. To find rows with item that do not have a value:

autoc4=”type”_key==:ref:exhale_variable_namespacecif_1a6dacacf91cee6e2c246a2334f0fbd607;

Of if it should not be NULL:

autoc5=”type”_key!=:ref:exhale_variable_namespacecif_1a6dacacf91cee6e2c246a2334f0fbd607;

There’s even a way to find all records:

autoc6=:ref:exhale_function_namespacecif_1a39ae1da888a5c8a6ee7f1438b78b7734;

And when you want to search for any item containing the value ‘foo’:

autoc7=:ref:`exhale_variable_namespacecif_1a9347107ebb4ef72dca122c3285453c4f`==”foo”;

All these conditions can be chained together again:

autoc8=std::move(c3)andstd::move(c5);

Includes

  • cassert

  • cif++/row.hpp (File row.hpp)

  • concepts

  • functional

  • iostream

  • regex

  • utility

Included By

Namespaces

Classes

Functions

Variables