ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
rux::database::InputHandler Class Reference

Handles input for set operations. More...

#include <input_handler.hpp>

Static Public Member Functions

static DataPayload read_input (const std::optional< std::string > &inline_value)
 Detect and read input.
static bool is_stdin_available ()
 Check if stdin is available (redirected or piped).
static std::vector< uint8_t > read_binary_from_stdin ()
 Read binary data from stdin.
static std::string read_text_from_stdin ()
 Read text data from stdin.
static InputSource detect_source (const std::optional< std::string > &inline_value)
 Detect input source.

Detailed Description

Handles input for set operations.

Priority:

  1. stdin (if redirected or piped, i.e., !isatty(STDIN_FILENO))
  2. Inline value (positional argument)
  3. Error (no input provided)

Definition at line 33 of file input_handler.hpp.

Member Function Documentation

◆ detect_source()

InputSource rux::database::InputHandler::detect_source ( const std::optional< std::string > & inline_value)
static

Detect input source.

Parameters
inline_valueOptional inline value from command line
Returns
Input source type

◆ is_stdin_available()

bool rux::database::InputHandler::is_stdin_available ( )
static

Check if stdin is available (redirected or piped).

Returns
true if stdin is not a TTY (has data to read)

◆ read_binary_from_stdin()

std::vector< uint8_t > rux::database::InputHandler::read_binary_from_stdin ( )
static

Read binary data from stdin.

Returns
Binary data

◆ read_input()

DataPayload rux::database::InputHandler::read_input ( const std::optional< std::string > & inline_value)
static

Detect and read input.

Parameters
inline_valueOptional inline value from command line
Returns
Data payload
Exceptions
std::runtime_errorif no input is available

◆ read_text_from_stdin()

std::string rux::database::InputHandler::read_text_from_stdin ( )
static

Read text data from stdin.

Returns
Text data

The documentation for this class was generated from the following file: