Workspace 7.0.2
Namespaces | Classes | Functions | Variables
CSIRO Namespace Reference

Top level namespace for all Workspace code. More...

Namespaces

namespace  Application
 Application-level functionality for all workspace applications.
 
namespace  ApplicationSupport
 Application support plugin for Workspace developers.
 
namespace  Authentication
 
namespace  Core
 
namespace  DataAnalysis
 Fundamental data analysis support.
 
namespace  DataExecution
 Base workspace functionality not requiring a user interface.
 
namespace  Distributed
 
namespace  Hdf5
 
namespace  HPC
 
namespace  Mesh
 Mesh model data structures.
 
namespace  Mongo
 
namespace  MongoDB
 
namespace  Mqtt
 
namespace  Package
 
namespace  Presentation
 The graphical user interface layer for the workspace.
 
namespace  Protobuf
 
namespace  Provenance
 
namespace  Python
 
namespace  PythonTestTypes
 
namespace  Qml
 
namespace  RemoteExecution
 
namespace  Rendering
 Rendering of meshed models.
 
namespace  SceneEditor
 
namespace  Ssh
 
namespace  System
 
namespace  Testing
 Namespace in which all testing code resides.
 
namespace  Tools
 
namespace  Ui
 
namespace  Widgets
 This namespace contains support for widgets attached to workspace data objects.
 
namespace  Zmq
 

Classes

class  Assert
 
class  BlockingTask
 Perform a task in a specific thread and wait for the result. More...
 
class  Clonable
 Base class for clonable objects. More...
 
class  Profiler
 
class  SignalDrivenBlockingTask
 Start a task in a specific thread and wait for a task finished signal. More...
 
class  TemporaryDirectory
 An application-level temporary directory, similar to QTemporaryFile. More...
 
class  TemporaryDirectoryWithSearchPaths
 TemporaryDirectory subclass with additional support for Qt resource search paths. More...
 
class  WaitForAnyFutureToFinish
 Wait for a few QFuture and finish as soon as any of them finishes. More...
 

Functions

template<typename Dst , typename Src >
Dst numeric_cast (Src value)
 
static void parallel_for_i (std::function< void(size_t start, size_t end)> functor, size_t endIndex, size_t startIndex=0, size_t numThreads=0)
 Run a multi-threaded function over an integer range.
 
template<typename T >
std::enable_if_t< std::is_convertible< T, bool >::value > validateExpression ()
 
template<typename T >
std::enable_if_t< std::is_convertible< T, QString >::value > validateString ()
 

Variables

constexpr auto chartTemplateType = "ChartType"
 
const Application::LogManager::MessageCategory LOG_DEBUG ("Debug", false, "DEBUG: ")
 
const Application::LogManager::MessageCategory LOG_DEPRECATED ("Deprecated", true, "DEPRECATED: ")
 
const Application::LogManager::MessageCategory LOG_ERROR ("Error", true, "ERROR: ")
 
const Application::LogManager::MessageCategory LOG_INFO ("Info", true)
 
const Application::LogManager::MessageCategory LOG_MONGODB ("MongoDB", false)
 
const Application::LogManager::MessageCategory LOG_MQTT ("MQTT", false)
 
const Application::LogManager::MessageCategory LOG_VERBOSE ("Verbose", false)
 
const Application::LogManager::MessageCategory LOG_WARNING ("Warning", true, "WARNING: ")
 
const Application::LogManager::MessageCategory LOG_ZMQ ("ZMQ", false)
 

Detailed Description

Widget for setting formatting information.

file

Client code should not normally put more things in here. Instead, third party clients should create their own uniquely named namespace for their code and use scoping appropriately to use the contents of Workspace header files.

The main namespaces within the top level CSIRO namespace are as follows:

- CSIRO::Application
- CSIRO::DataExecution
- CSIRO::Presentation
- CSIRO::Widgets

There may be others, but those namespaces are generally part of plugins rather than the base Workspace application package.

Function Documentation

◆ numeric_cast()

Dst numeric_cast ( Src  value)
inline

◆ parallel_for_i()

static void parallel_for_i ( std::function< void(size_t start, size_t end)>  functor,
size_t  endIndex,
size_t  startIndex = 0,
size_t  numThreads = 0 
)
static
Parameters
functorto run over start -> end batch (excluding end value)
endIndexrange end value (exclusive)
startIndexrange start index
numThreadsnumber of threads to use or 0 to use platform hardware_concurrency()

Derived from https://stackoverflow.com/a/49188371 Can instead use std::for_each(std::execution::par ...) if you don't need the index

Example Usage:

[&](size_t start, size_t end)
{
for (size_t id = start; id < end; ++id)
{
// Your code here
}
},
numItems
);
LodMeshModelInterface::size_type id
Definition: lodmeshmodelinterface.cpp:53
static void parallel_for_i(std::function< void(size_t start, size_t end)> functor, size_t endIndex, size_t startIndex=0, size_t numThreads=0)
Run a multi-threaded function over an integer range.
Definition: parallel_for_i.h:35

◆ validateExpression()

std::enable_if_t< std::is_convertible< T, bool >::value > validateExpression ( )

Compile-time validation that an expression's type is convertible to bool.

◆ validateString()

std::enable_if_t< std::is_convertible< T, QString >::value > validateString ( )

Compile-time validation that string's type is convertible to QString.

Variable Documentation

◆ chartTemplateType

constexpr auto chartTemplateType = "ChartType"
constexpr

◆ LOG_DEBUG

CSIRO_WORKSPACE_API const Application::LogManager::MessageCategory LOG_DEBUG ( "Debug"  ,
false  ,
"DEBUG: "   
)

◆ LOG_DEPRECATED

CSIRO_WORKSPACE_API const Application::LogManager::MessageCategory LOG_DEPRECATED ( "Deprecated"  ,
true  ,
"DEPRECATED: "   
)

◆ LOG_ERROR

CSIRO_WORKSPACE_API const Application::LogManager::MessageCategory LOG_ERROR ( "Error"  ,
true  ,
"ERROR: "   
)

◆ LOG_INFO

CSIRO_WORKSPACE_API const Application::LogManager::MessageCategory LOG_INFO ( "Info"  ,
true   
)

◆ LOG_MONGODB

CSIRO_IMPORTSPEC const Application::LogManager::MessageCategory LOG_MONGODB ( "MongoDB"  ,
false   
)

◆ LOG_MQTT

CSIRO_IMPORTSPEC const Application::LogManager::MessageCategory LOG_MQTT ( "MQTT"  ,
false   
)

◆ LOG_VERBOSE

CSIRO_WORKSPACE_API const Application::LogManager::MessageCategory LOG_VERBOSE ( "Verbose"  ,
false   
)

◆ LOG_WARNING

CSIRO_WORKSPACE_API const Application::LogManager::MessageCategory LOG_WARNING ( "Warning"  ,
true  ,
"WARNING: "   
)

◆ LOG_ZMQ

CSIRO_IMPORTSPEC const Application::LogManager::MessageCategory LOG_ZMQ ( "ZMQ"  ,
false   
)