Flags ===== .. cpp:class:: pandas::Flags Utility class for pandas operations. Example ------- .. code-block:: cpp #include using namespace pandas; // Use Flags Flags obj; // ... operations ... Constructors ------------ .. list-table:: :widths: 55 25 20 :header-rows: 1 * - Signature - Location - Example * - ``Flags() = default`` - pd_flags.h:35 - :ref:`View ` * - ``Flags(const Flags&) = default`` - pd_flags.h:50 - :ref:`View ` * - ``Flags(Flags&&) = default`` - pd_flags.h:55 - :ref:`View ` Other Methods ------------- .. list-table:: :widths: 40 20 15 25 :header-rows: 1 * - Signature - Return Type - Location - Example * - ``void reset()`` - void - pd_flags.h:85 - :ref:`View ` Code Examples ------------- The following examples are extracted from the test suite. .. _example-flags-flags-0: .. dropdown:: Flags (pd_test_1_all.cpp:16410) :class-title: example-dropdown .. code-block:: cpp :linenos: :lineno-start: 16400 :emphasize-lines: 11 throw std::runtime_error("pd_test_ndframe_series_flags failed: default allows_duplicate_labels"); } passed = s.flags().copy_on_write == false; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : default copy_on_write" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: default copy_on_write"); } // Test set_flags s.set_flags(pandas::Flags(false, true)); passed = s.flags().allows_duplicate_labels == false; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : set allows_duplicate_labels" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: set allows_duplicate_labels"); } passed = s.flags().copy_on_write == true; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : set copy_on_write" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: set copy_on_write"); .. _example-flags-flags-1: .. dropdown:: Flags (pd_test_1_all.cpp:16410) :class-title: example-dropdown .. code-block:: cpp :linenos: :lineno-start: 16400 :emphasize-lines: 11 throw std::runtime_error("pd_test_ndframe_series_flags failed: default allows_duplicate_labels"); } passed = s.flags().copy_on_write == false; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : default copy_on_write" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: default copy_on_write"); } // Test set_flags s.set_flags(pandas::Flags(false, true)); passed = s.flags().allows_duplicate_labels == false; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : set allows_duplicate_labels" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: set allows_duplicate_labels"); } passed = s.flags().copy_on_write == true; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : set copy_on_write" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: set copy_on_write"); .. _example-flags-flags-2: .. dropdown:: Flags (pd_test_1_all.cpp:16410) :class-title: example-dropdown .. code-block:: cpp :linenos: :lineno-start: 16400 :emphasize-lines: 11 throw std::runtime_error("pd_test_ndframe_series_flags failed: default allows_duplicate_labels"); } passed = s.flags().copy_on_write == false; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : default copy_on_write" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: default copy_on_write"); } // Test set_flags s.set_flags(pandas::Flags(false, true)); passed = s.flags().allows_duplicate_labels == false; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : set allows_duplicate_labels" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: set allows_duplicate_labels"); } passed = s.flags().copy_on_write == true; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_series_flags() : set copy_on_write" << std::endl; throw std::runtime_error("pd_test_ndframe_series_flags failed: set copy_on_write"); .. _example-flags-reset-3: .. dropdown:: reset (pd_test_1_all.cpp:16254) :class-title: example-dropdown .. code-block:: cpp :linenos: :lineno-start: 16244 :emphasize-lines: 11 // Test copy pandas::Flags f4 = f2; passed = f4 == f2; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_flags() : copy constructor" << std::endl; throw std::runtime_error("pd_test_ndframe_flags failed: copy constructor"); } // Test reset f4.reset(); passed = f4.allows_duplicate_labels == true && f4.copy_on_write == false; if (!passed) { std::cout << " [FAIL] : in pd_test_ndframe_flags() : reset()" << std::endl; throw std::runtime_error("pd_test_ndframe_flags failed: reset()"); } std::cout << " -> tests passed" << std::endl; } // =====================================================================