clan::System Class Reference

General system helper functions. More...

#include <system.h>

Static Public Member Functions

Operations
static void * aligned_alloc (size_t size, size_t alignment=16)
 Allocates aligned memory. More...
 
static void aligned_free (void *ptr)
 Frees aligned memory. More...
 
static int capture_stack_trace (int frames_to_skip, int max_frames, void **out_frames, unsigned int *out_hash=nullptr)
 Captures a stack back trace by walking up the stack and recording the information for each frame. More...
 
static std::vector< std::string > get_stack_frames_text (void **frames, int num_frames)
 Returns the function names and lines for the specified stack frame addresses. More...
 
static void sleep (int millis)
 Sleep for 'millis' milliseconds. More...
 
static void pause (int millis)
 Pause for 'millis' milliseconds. More...
 
static std::string get_exe_path ()
 Returns the full dirname of the executable that started this. More...
 

Attributes

enum  CPU_ExtensionX86 {
  mmx, mmx_ex, _3d_now, _3d_now_ex,
  sse, sse2, sse3, ssse3,
  sse4_a, sse4_1, sse4_2, xop,
  avx, aes, fma3, fma4
}
 
enum  CPU_ExtensionPPC { altivec }
 
static uint64_t get_time ()
 Get the current time (since system boot), in milliseconds. More...
 
static uint64_t get_microseconds ()
 Get the current time microseconds. More...
 
static bool detect_cpu_extension (CPU_ExtensionX86 ext)
 
static bool detect_cpu_extension (CPU_ExtensionPPC ext)
 
static int get_num_cores ()
 Return the number of CPU cores. More...
 

Detailed Description

General system helper functions.


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