#include "tensorstore/open_mode.h"
enum class tensorstore::ReadWriteMode;

Specifies whether reading and/or writing is permitted.

enumerator dynamic = 0;

Indicates that the mode is unspecified (only used at compile time).

enumerator read = 1;

Indicates that reading is supported.

enumerator write = 2;

Indicates that writing is supported.

enumerator read_write = 3;

Indicates that reading and writing are supported.

constexpr ReadWriteMode
tensorstore::operator&(ReadWriteMode aReadWriteMode b);
constexpr ReadWriteMode&
tensorstore::operator&=(ReadWriteModeaReadWriteMode b);

Computes the intersection of two modes.

constexpr ReadWriteMode
tensorstore::operator|(ReadWriteMode aReadWriteMode b);
constexpr ReadWriteMode&
tensorstore::operator|=(ReadWriteModeaReadWriteMode b);

Computes the union of two modes.

constexpr bool tensorstore::operator!(ReadWriteMode a);

Checks if the mode is not equal to ReadWriteMode::dynamic.

constexpr ReadWriteMode tensorstore::operator~(ReadWriteMode a);

Returns the complement of a mode.

constexpr bool
tensorstore::IsModeExplicitlyConvertible(ReadWriteMode source,
                                         
ReadWriteMode target);

Checks if source is potentially compatible with target.

std::string_view tensorstore::to_string(ReadWriteMode mode);

Returns a string representation of the mode.

std::ostream&
tensorstore::operator<<(std::ostreamosReadWriteMode mode);

Prints a string representation of the mode to an std::ostream.