Skip to content

Instantly share code, notes, and snippets.

@BtbN
Created April 13, 2014 23:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BtbN/10606276 to your computer and use it in GitHub Desktop.
Save BtbN/10606276 to your computer and use it in GitHub Desktop.
xcompcap-main.cpp.E
This file has been truncated, but you can view the full file.
# 1 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp"
# 1 "/home/btbn/Projekte/obs-studio/cmbuild//"
# 1 "<Kommandozeile>"
# 1 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp"
# 1 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h" 1
# 75 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 150 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 3 4
typedef long int ptrdiff_t;
# 213 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 3 4
typedef long unsigned int size_t;
# 423 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 3 4
typedef struct {
long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
} max_align_t;
# 76 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h" 2
# 110 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
# 1 "/usr/include/inttypes.h" 1 3 4
# 25 "/usr/include/inttypes.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 346 "/usr/include/features.h" 3 4
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 347 "/usr/include/features.h" 2 3 4
# 376 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 385 "/usr/include/sys/cdefs.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 386 "/usr/include/sys/cdefs.h" 2 3 4
# 377 "/usr/include/features.h" 2 3 4
# 400 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 10 "/usr/include/gnu/stubs.h" 3 4
# 1 "/usr/include/gnu/stubs-64.h" 1 3 4
# 11 "/usr/include/gnu/stubs.h" 2 3 4
# 401 "/usr/include/features.h" 2 3 4
# 26 "/usr/include/inttypes.h" 2 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stdint.h" 1 3 4
# 1 "/usr/include/stdint.h" 1 3 4
# 26 "/usr/include/stdint.h" 3 4
# 1 "/usr/include/bits/wchar.h" 1 3 4
# 22 "/usr/include/bits/wchar.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 23 "/usr/include/bits/wchar.h" 2 3 4
# 27 "/usr/include/stdint.h" 2 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 28 "/usr/include/stdint.h" 2 3 4
# 36 "/usr/include/stdint.h" 3 4
typedef signed char int8_t;
typedef short int int16_t;
typedef int int32_t;
typedef long int int64_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long int uint64_t;
# 65 "/usr/include/stdint.h" 3 4
typedef signed char int_least8_t;
typedef short int int_least16_t;
typedef int int_least32_t;
typedef long int int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short int uint_least16_t;
typedef unsigned int uint_least32_t;
typedef unsigned long int uint_least64_t;
# 90 "/usr/include/stdint.h" 3 4
typedef signed char int_fast8_t;
typedef long int int_fast16_t;
typedef long int int_fast32_t;
typedef long int int_fast64_t;
# 103 "/usr/include/stdint.h" 3 4
typedef unsigned char uint_fast8_t;
typedef unsigned long int uint_fast16_t;
typedef unsigned long int uint_fast32_t;
typedef unsigned long int uint_fast64_t;
# 119 "/usr/include/stdint.h" 3 4
typedef long int intptr_t;
typedef unsigned long int uintptr_t;
# 134 "/usr/include/stdint.h" 3 4
typedef long int intmax_t;
typedef unsigned long int uintmax_t;
# 4 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stdint.h" 2 3 4
# 28 "/usr/include/inttypes.h" 2 3 4
# 273 "/usr/include/inttypes.h" 3 4
extern "C" {
typedef struct
{
long int quot;
long int rem;
} imaxdiv_t;
# 297 "/usr/include/inttypes.h" 3 4
extern intmax_t imaxabs (intmax_t __n) throw () __attribute__ ((__const__));
extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
throw () __attribute__ ((__const__));
extern intmax_t strtoimax (const char *__restrict __nptr,
char **__restrict __endptr, int __base) throw ();
extern uintmax_t strtoumax (const char *__restrict __nptr,
char ** __restrict __endptr, int __base) throw ();
extern intmax_t wcstoimax (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
throw ();
extern uintmax_t wcstoumax (const wchar_t *__restrict __nptr,
wchar_t ** __restrict __endptr, int __base)
throw ();
# 439 "/usr/include/inttypes.h" 3 4
}
# 111 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h" 2
typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
typedef void GLvoid;
typedef signed char GLbyte;
typedef short GLshort;
typedef int GLint;
typedef unsigned char GLubyte;
typedef unsigned short GLushort;
typedef unsigned int GLuint;
typedef int GLsizei;
typedef float GLfloat;
typedef float GLclampf;
typedef double GLdouble;
typedef double GLclampd;
typedef char GLchar;
typedef char GLcharARB;
typedef unsigned int GLhandleARB;
typedef unsigned short GLhalfARB;
typedef unsigned short GLhalf;
typedef GLint GLfixed;
typedef ptrdiff_t GLintptr;
typedef ptrdiff_t GLsizeiptr;
typedef int64_t GLint64;
typedef uint64_t GLuint64;
typedef ptrdiff_t GLintptrARB;
typedef ptrdiff_t GLsizeiptrARB;
typedef int64_t GLint64EXT;
typedef uint64_t GLuint64EXT;
typedef struct __GLsync *GLsync;
struct _cl_context;
struct _cl_event;
typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
typedef unsigned short GLhalfNV;
typedef GLintptr GLvdpauSurfaceNV;
extern "C" {
extern int ogl_ext_ARB_imaging;
extern int ogl_ext_ARB_vertex_array_object;
extern int ogl_ext_ARB_texture_rg;
extern int ogl_ext_ARB_texture_compression_rgtc;
extern int ogl_ext_ARB_map_buffer_range;
extern int ogl_ext_ARB_half_float_vertex;
extern int ogl_ext_ARB_framebuffer_sRGB;
extern int ogl_ext_ARB_framebuffer_object;
extern int ogl_ext_ARB_depth_buffer_float;
extern int ogl_ext_ARB_uniform_buffer_object;
extern int ogl_ext_ARB_copy_buffer;
extern int ogl_ext_ARB_depth_clamp;
extern int ogl_ext_ARB_draw_elements_base_vertex;
extern int ogl_ext_ARB_fragment_coord_conventions;
extern int ogl_ext_ARB_provoking_vertex;
extern int ogl_ext_ARB_seamless_cube_map;
extern int ogl_ext_ARB_sync;
extern int ogl_ext_ARB_texture_multisample;
extern int ogl_ext_ARB_vertex_array_bgra;
extern int ogl_ext_ARB_texture_rgb10_a2ui;
extern int ogl_ext_ARB_texture_swizzle;
extern int ogl_ext_ARB_timer_query;
extern int ogl_ext_ARB_vertex_type_2_10_10_10_rev;
extern int ogl_ext_ARB_blend_func_extended;
extern int ogl_ext_ARB_occlusion_query2;
extern int ogl_ext_ARB_sampler_objects;
extern int ogl_ext_ARB_draw_indirect;
extern int ogl_ext_ARB_gpu_shader5;
extern int ogl_ext_ARB_gpu_shader_fp64;
extern int ogl_ext_ARB_shader_subroutine;
extern int ogl_ext_ARB_tessellation_shader;
extern int ogl_ext_ARB_transform_feedback2;
extern int ogl_ext_ARB_transform_feedback3;
extern int ogl_ext_ARB_ES2_compatibility;
extern int ogl_ext_ARB_get_program_binary;
extern int ogl_ext_ARB_separate_shader_objects;
extern int ogl_ext_ARB_vertex_attrib_64bit;
extern int ogl_ext_ARB_viewport_array;
extern int ogl_ext_ARB_base_instance;
extern int ogl_ext_ARB_shading_language_420pack;
extern int ogl_ext_ARB_transform_feedback_instanced;
extern int ogl_ext_ARB_compressed_texture_pixel_storage;
extern int ogl_ext_ARB_conservative_depth;
extern int ogl_ext_ARB_internalformat_query;
extern int ogl_ext_ARB_map_buffer_alignment;
extern int ogl_ext_ARB_shader_atomic_counters;
extern int ogl_ext_ARB_shader_image_load_store;
extern int ogl_ext_ARB_shading_language_packing;
extern int ogl_ext_ARB_texture_storage;
extern int ogl_ext_KHR_debug;
extern int ogl_ext_ARB_arrays_of_arrays;
extern int ogl_ext_ARB_clear_buffer_object;
extern int ogl_ext_ARB_compute_shader;
extern int ogl_ext_ARB_copy_image;
extern int ogl_ext_ARB_ES3_compatibility;
extern int ogl_ext_ARB_explicit_uniform_location;
extern int ogl_ext_ARB_fragment_layer_viewport;
extern int ogl_ext_ARB_framebuffer_no_attachments;
extern int ogl_ext_ARB_internalformat_query2;
extern int ogl_ext_ARB_invalidate_subdata;
extern int ogl_ext_ARB_multi_draw_indirect;
extern int ogl_ext_ARB_program_interface_query;
extern int ogl_ext_ARB_shader_image_size;
extern int ogl_ext_ARB_shader_storage_buffer_object;
extern int ogl_ext_ARB_stencil_texturing;
extern int ogl_ext_ARB_texture_buffer_range;
extern int ogl_ext_ARB_texture_query_levels;
extern int ogl_ext_ARB_texture_storage_multisample;
extern int ogl_ext_ARB_texture_view;
extern int ogl_ext_ARB_vertex_attrib_binding;
extern int ogl_ext_3DFX_multisample;
extern int ogl_ext_3DFX_tbuffer;
extern int ogl_ext_3DFX_texture_compression_FXT1;
extern int ogl_ext_AMD_blend_minmax_factor;
extern int ogl_ext_AMD_conservative_depth;
extern int ogl_ext_AMD_debug_output;
extern int ogl_ext_AMD_depth_clamp_separate;
extern int ogl_ext_AMD_draw_buffers_blend;
extern int ogl_ext_AMD_interleaved_elements;
extern int ogl_ext_AMD_multi_draw_indirect;
extern int ogl_ext_AMD_name_gen_delete;
extern int ogl_ext_AMD_performance_monitor;
extern int ogl_ext_AMD_pinned_memory;
extern int ogl_ext_AMD_query_buffer_object;
extern int ogl_ext_AMD_sample_positions;
extern int ogl_ext_AMD_seamless_cubemap_per_texture;
extern int ogl_ext_AMD_shader_stencil_export;
extern int ogl_ext_AMD_shader_trinary_minmax;
extern int ogl_ext_AMD_sparse_texture;
extern int ogl_ext_AMD_stencil_operation_extended;
extern int ogl_ext_AMD_texture_texture4;
extern int ogl_ext_AMD_transform_feedback3_lines_triangles;
extern int ogl_ext_AMD_vertex_shader_layer;
extern int ogl_ext_AMD_vertex_shader_tessellator;
extern int ogl_ext_AMD_vertex_shader_viewport_index;
extern int ogl_ext_APPLE_aux_depth_stencil;
extern int ogl_ext_APPLE_client_storage;
extern int ogl_ext_APPLE_element_array;
extern int ogl_ext_APPLE_fence;
extern int ogl_ext_APPLE_float_pixels;
extern int ogl_ext_APPLE_flush_buffer_range;
extern int ogl_ext_APPLE_object_purgeable;
extern int ogl_ext_APPLE_rgb_422;
extern int ogl_ext_APPLE_row_bytes;
extern int ogl_ext_APPLE_specular_vector;
extern int ogl_ext_APPLE_texture_range;
extern int ogl_ext_APPLE_transform_hint;
extern int ogl_ext_APPLE_vertex_array_object;
extern int ogl_ext_APPLE_vertex_array_range;
extern int ogl_ext_APPLE_vertex_program_evaluators;
extern int ogl_ext_APPLE_ycbcr_422;
extern int ogl_ext_ARB_bindless_texture;
extern int ogl_ext_ARB_buffer_storage;
extern int ogl_ext_ARB_cl_event;
extern int ogl_ext_ARB_clear_texture;
extern int ogl_ext_ARB_color_buffer_float;
extern int ogl_ext_ARB_compatibility;
extern int ogl_ext_ARB_compute_variable_group_size;
extern int ogl_ext_ARB_debug_output;
extern int ogl_ext_ARB_depth_texture;
extern int ogl_ext_ARB_draw_buffers;
extern int ogl_ext_ARB_draw_buffers_blend;
extern int ogl_ext_ARB_draw_instanced;
extern int ogl_ext_ARB_enhanced_layouts;
extern int ogl_ext_ARB_explicit_attrib_location;
extern int ogl_ext_ARB_fragment_program;
extern int ogl_ext_ARB_fragment_program_shadow;
extern int ogl_ext_ARB_fragment_shader;
extern int ogl_ext_ARB_geometry_shader4;
extern int ogl_ext_ARB_half_float_pixel;
extern int ogl_ext_ARB_indirect_parameters;
extern int ogl_ext_ARB_instanced_arrays;
extern int ogl_ext_ARB_matrix_palette;
extern int ogl_ext_ARB_multi_bind;
extern int ogl_ext_ARB_multisample;
extern int ogl_ext_ARB_multitexture;
extern int ogl_ext_ARB_occlusion_query;
extern int ogl_ext_ARB_pixel_buffer_object;
extern int ogl_ext_ARB_point_parameters;
extern int ogl_ext_ARB_point_sprite;
extern int ogl_ext_ARB_query_buffer_object;
extern int ogl_ext_ARB_robust_buffer_access_behavior;
extern int ogl_ext_ARB_robustness;
extern int ogl_ext_ARB_robustness_isolation;
extern int ogl_ext_ARB_sample_shading;
extern int ogl_ext_ARB_seamless_cubemap_per_texture;
extern int ogl_ext_ARB_shader_bit_encoding;
extern int ogl_ext_ARB_shader_draw_parameters;
extern int ogl_ext_ARB_shader_group_vote;
extern int ogl_ext_ARB_shader_objects;
extern int ogl_ext_ARB_shader_precision;
extern int ogl_ext_ARB_shader_stencil_export;
extern int ogl_ext_ARB_shader_texture_lod;
extern int ogl_ext_ARB_shading_language_100;
extern int ogl_ext_ARB_shading_language_include;
extern int ogl_ext_ARB_shadow;
extern int ogl_ext_ARB_shadow_ambient;
extern int ogl_ext_ARB_sparse_texture;
extern int ogl_ext_ARB_texture_border_clamp;
extern int ogl_ext_ARB_texture_buffer_object;
extern int ogl_ext_ARB_texture_buffer_object_rgb32;
extern int ogl_ext_ARB_texture_compression;
extern int ogl_ext_ARB_texture_compression_bptc;
extern int ogl_ext_ARB_texture_cube_map;
extern int ogl_ext_ARB_texture_cube_map_array;
extern int ogl_ext_ARB_texture_env_add;
extern int ogl_ext_ARB_texture_env_combine;
extern int ogl_ext_ARB_texture_env_crossbar;
extern int ogl_ext_ARB_texture_env_dot3;
extern int ogl_ext_ARB_texture_float;
extern int ogl_ext_ARB_texture_gather;
extern int ogl_ext_ARB_texture_mirror_clamp_to_edge;
extern int ogl_ext_ARB_texture_mirrored_repeat;
extern int ogl_ext_ARB_texture_non_power_of_two;
extern int ogl_ext_ARB_texture_query_lod;
extern int ogl_ext_ARB_texture_rectangle;
extern int ogl_ext_ARB_texture_stencil8;
extern int ogl_ext_ARB_transpose_matrix;
extern int ogl_ext_ARB_vertex_blend;
extern int ogl_ext_ARB_vertex_buffer_object;
extern int ogl_ext_ARB_vertex_program;
extern int ogl_ext_ARB_vertex_shader;
extern int ogl_ext_ARB_vertex_type_10f_11f_11f_rev;
extern int ogl_ext_ARB_window_pos;
extern int ogl_ext_ATI_draw_buffers;
extern int ogl_ext_ATI_element_array;
extern int ogl_ext_ATI_envmap_bumpmap;
extern int ogl_ext_ATI_fragment_shader;
extern int ogl_ext_ATI_map_object_buffer;
extern int ogl_ext_ATI_meminfo;
extern int ogl_ext_ATI_pixel_format_float;
extern int ogl_ext_ATI_pn_triangles;
extern int ogl_ext_ATI_separate_stencil;
extern int ogl_ext_ATI_text_fragment_shader;
extern int ogl_ext_ATI_texture_env_combine3;
extern int ogl_ext_ATI_texture_float;
extern int ogl_ext_ATI_texture_mirror_once;
extern int ogl_ext_ATI_vertex_array_object;
extern int ogl_ext_ATI_vertex_attrib_array_object;
extern int ogl_ext_ATI_vertex_streams;
extern int ogl_ext_EXT_422_pixels;
extern int ogl_ext_EXT_abgr;
extern int ogl_ext_EXT_bgra;
extern int ogl_ext_EXT_bindable_uniform;
extern int ogl_ext_EXT_blend_color;
extern int ogl_ext_EXT_blend_equation_separate;
extern int ogl_ext_EXT_blend_func_separate;
extern int ogl_ext_EXT_blend_logic_op;
extern int ogl_ext_EXT_blend_minmax;
extern int ogl_ext_EXT_blend_subtract;
extern int ogl_ext_EXT_clip_volume_hint;
extern int ogl_ext_EXT_cmyka;
extern int ogl_ext_EXT_color_subtable;
extern int ogl_ext_EXT_compiled_vertex_array;
extern int ogl_ext_EXT_convolution;
extern int ogl_ext_EXT_coordinate_frame;
extern int ogl_ext_EXT_copy_texture;
extern int ogl_ext_EXT_cull_vertex;
extern int ogl_ext_EXT_depth_bounds_test;
extern int ogl_ext_EXT_direct_state_access;
extern int ogl_ext_EXT_draw_buffers2;
extern int ogl_ext_EXT_draw_instanced;
extern int ogl_ext_EXT_draw_range_elements;
extern int ogl_ext_EXT_fog_coord;
extern int ogl_ext_EXT_framebuffer_blit;
extern int ogl_ext_EXT_framebuffer_multisample;
extern int ogl_ext_EXT_framebuffer_multisample_blit_scaled;
extern int ogl_ext_EXT_framebuffer_object;
extern int ogl_ext_EXT_framebuffer_sRGB;
extern int ogl_ext_EXT_geometry_shader4;
extern int ogl_ext_EXT_gpu_program_parameters;
extern int ogl_ext_EXT_gpu_shader4;
extern int ogl_ext_EXT_histogram;
extern int ogl_ext_EXT_index_array_formats;
extern int ogl_ext_EXT_index_func;
extern int ogl_ext_EXT_index_material;
extern int ogl_ext_EXT_index_texture;
extern int ogl_ext_EXT_light_texture;
extern int ogl_ext_EXT_misc_attribute;
extern int ogl_ext_EXT_multi_draw_arrays;
extern int ogl_ext_EXT_multisample;
extern int ogl_ext_EXT_packed_depth_stencil;
extern int ogl_ext_EXT_packed_float;
extern int ogl_ext_EXT_packed_pixels;
extern int ogl_ext_EXT_paletted_texture;
extern int ogl_ext_EXT_pixel_buffer_object;
extern int ogl_ext_EXT_pixel_transform;
extern int ogl_ext_EXT_pixel_transform_color_table;
extern int ogl_ext_EXT_point_parameters;
extern int ogl_ext_EXT_polygon_offset;
extern int ogl_ext_EXT_provoking_vertex;
extern int ogl_ext_EXT_rescale_normal;
extern int ogl_ext_EXT_secondary_color;
extern int ogl_ext_EXT_separate_shader_objects;
extern int ogl_ext_EXT_separate_specular_color;
extern int ogl_ext_EXT_shader_image_load_store;
extern int ogl_ext_EXT_shadow_funcs;
extern int ogl_ext_EXT_shared_texture_palette;
extern int ogl_ext_EXT_stencil_clear_tag;
extern int ogl_ext_EXT_stencil_two_side;
extern int ogl_ext_EXT_stencil_wrap;
extern int ogl_ext_EXT_subtexture;
extern int ogl_ext_EXT_texture;
extern int ogl_ext_EXT_texture3D;
extern int ogl_ext_EXT_texture_array;
extern int ogl_ext_EXT_texture_buffer_object;
extern int ogl_ext_EXT_texture_compression_latc;
extern int ogl_ext_EXT_texture_compression_rgtc;
extern int ogl_ext_EXT_texture_compression_s3tc;
extern int ogl_ext_EXT_texture_cube_map;
extern int ogl_ext_EXT_texture_env_add;
extern int ogl_ext_EXT_texture_env_combine;
extern int ogl_ext_EXT_texture_env_dot3;
extern int ogl_ext_EXT_texture_filter_anisotropic;
extern int ogl_ext_EXT_texture_integer;
extern int ogl_ext_EXT_texture_lod_bias;
extern int ogl_ext_EXT_texture_mirror_clamp;
extern int ogl_ext_EXT_texture_object;
extern int ogl_ext_EXT_texture_perturb_normal;
extern int ogl_ext_EXT_texture_sRGB;
extern int ogl_ext_EXT_texture_sRGB_decode;
extern int ogl_ext_EXT_texture_shared_exponent;
extern int ogl_ext_EXT_texture_snorm;
extern int ogl_ext_EXT_texture_swizzle;
extern int ogl_ext_EXT_timer_query;
extern int ogl_ext_EXT_transform_feedback;
extern int ogl_ext_EXT_vertex_array;
extern int ogl_ext_EXT_vertex_array_bgra;
extern int ogl_ext_EXT_vertex_attrib_64bit;
extern int ogl_ext_EXT_vertex_shader;
extern int ogl_ext_EXT_vertex_weighting;
extern int ogl_ext_EXT_x11_sync_object;
extern int ogl_ext_GREMEDY_frame_terminator;
extern int ogl_ext_GREMEDY_string_marker;
extern int ogl_ext_HP_convolution_border_modes;
extern int ogl_ext_HP_image_transform;
extern int ogl_ext_HP_occlusion_test;
extern int ogl_ext_HP_texture_lighting;
extern int ogl_ext_IBM_cull_vertex;
extern int ogl_ext_IBM_multimode_draw_arrays;
extern int ogl_ext_IBM_rasterpos_clip;
extern int ogl_ext_IBM_static_data;
extern int ogl_ext_IBM_texture_mirrored_repeat;
extern int ogl_ext_IBM_vertex_array_lists;
extern int ogl_ext_INGR_blend_func_separate;
extern int ogl_ext_INGR_color_clamp;
extern int ogl_ext_INGR_interlace_read;
extern int ogl_ext_INTEL_map_texture;
extern int ogl_ext_INTEL_parallel_arrays;
extern int ogl_ext_KHR_texture_compression_astc_ldr;
extern int ogl_ext_MESAX_texture_stack;
extern int ogl_ext_MESA_pack_invert;
extern int ogl_ext_MESA_resize_buffers;
extern int ogl_ext_MESA_window_pos;
extern int ogl_ext_MESA_ycbcr_texture;
extern int ogl_ext_NVX_conditional_render;
extern int ogl_ext_NV_bindless_multi_draw_indirect;
extern int ogl_ext_NV_bindless_texture;
extern int ogl_ext_NV_blend_equation_advanced;
extern int ogl_ext_NV_blend_equation_advanced_coherent;
extern int ogl_ext_NV_blend_square;
extern int ogl_ext_NV_compute_program5;
extern int ogl_ext_NV_conditional_render;
extern int ogl_ext_NV_copy_depth_to_color;
extern int ogl_ext_NV_copy_image;
extern int ogl_ext_NV_deep_texture3D;
extern int ogl_ext_NV_depth_buffer_float;
extern int ogl_ext_NV_depth_clamp;
extern int ogl_ext_NV_draw_texture;
extern int ogl_ext_NV_evaluators;
extern int ogl_ext_NV_explicit_multisample;
extern int ogl_ext_NV_fence;
extern int ogl_ext_NV_float_buffer;
extern int ogl_ext_NV_fog_distance;
extern int ogl_ext_NV_fragment_program;
extern int ogl_ext_NV_fragment_program2;
extern int ogl_ext_NV_fragment_program4;
extern int ogl_ext_NV_fragment_program_option;
extern int ogl_ext_NV_framebuffer_multisample_coverage;
extern int ogl_ext_NV_geometry_program4;
extern int ogl_ext_NV_geometry_shader4;
extern int ogl_ext_NV_gpu_program4;
extern int ogl_ext_NV_gpu_program5;
extern int ogl_ext_NV_gpu_program5_mem_extended;
extern int ogl_ext_NV_gpu_shader5;
extern int ogl_ext_NV_half_float;
extern int ogl_ext_NV_light_max_exponent;
extern int ogl_ext_NV_multisample_coverage;
extern int ogl_ext_NV_multisample_filter_hint;
extern int ogl_ext_NV_occlusion_query;
extern int ogl_ext_NV_packed_depth_stencil;
extern int ogl_ext_NV_parameter_buffer_object;
extern int ogl_ext_NV_parameter_buffer_object2;
extern int ogl_ext_NV_path_rendering;
extern int ogl_ext_NV_pixel_data_range;
extern int ogl_ext_NV_point_sprite;
extern int ogl_ext_NV_present_video;
extern int ogl_ext_NV_primitive_restart;
extern int ogl_ext_NV_register_combiners;
extern int ogl_ext_NV_register_combiners2;
extern int ogl_ext_NV_shader_atomic_counters;
extern int ogl_ext_NV_shader_atomic_float;
extern int ogl_ext_NV_shader_buffer_load;
extern int ogl_ext_NV_shader_buffer_store;
extern int ogl_ext_NV_shader_storage_buffer_object;
extern int ogl_ext_NV_tessellation_program5;
extern int ogl_ext_NV_texgen_emboss;
extern int ogl_ext_NV_texgen_reflection;
extern int ogl_ext_NV_texture_barrier;
extern int ogl_ext_NV_texture_compression_vtc;
extern int ogl_ext_NV_texture_env_combine4;
extern int ogl_ext_NV_texture_expand_normal;
extern int ogl_ext_NV_texture_multisample;
extern int ogl_ext_NV_texture_rectangle;
extern int ogl_ext_NV_texture_shader;
extern int ogl_ext_NV_texture_shader2;
extern int ogl_ext_NV_texture_shader3;
extern int ogl_ext_NV_transform_feedback;
extern int ogl_ext_NV_transform_feedback2;
extern int ogl_ext_NV_vdpau_interop;
extern int ogl_ext_NV_vertex_array_range;
extern int ogl_ext_NV_vertex_array_range2;
extern int ogl_ext_NV_vertex_attrib_integer_64bit;
extern int ogl_ext_NV_vertex_buffer_unified_memory;
extern int ogl_ext_NV_vertex_program;
extern int ogl_ext_NV_vertex_program1_1;
extern int ogl_ext_NV_vertex_program2;
extern int ogl_ext_NV_vertex_program2_option;
extern int ogl_ext_NV_vertex_program3;
extern int ogl_ext_NV_vertex_program4;
extern int ogl_ext_NV_video_capture;
extern int ogl_ext_OES_byte_coordinates;
extern int ogl_ext_OES_compressed_paletted_texture;
extern int ogl_ext_OES_fixed_point;
extern int ogl_ext_OES_query_matrix;
extern int ogl_ext_OES_read_format;
extern int ogl_ext_OES_single_precision;
extern int ogl_ext_OML_interlace;
extern int ogl_ext_OML_resample;
extern int ogl_ext_OML_subsample;
extern int ogl_ext_PGI_misc_hints;
extern int ogl_ext_PGI_vertex_hints;
extern int ogl_ext_REND_screen_coordinates;
extern int ogl_ext_S3_s3tc;
extern int ogl_ext_SGIS_detail_texture;
extern int ogl_ext_SGIS_fog_function;
extern int ogl_ext_SGIS_generate_mipmap;
extern int ogl_ext_SGIS_multisample;
extern int ogl_ext_SGIS_pixel_texture;
extern int ogl_ext_SGIS_point_line_texgen;
extern int ogl_ext_SGIS_point_parameters;
extern int ogl_ext_SGIS_sharpen_texture;
extern int ogl_ext_SGIS_texture4D;
extern int ogl_ext_SGIS_texture_border_clamp;
extern int ogl_ext_SGIS_texture_color_mask;
extern int ogl_ext_SGIS_texture_edge_clamp;
extern int ogl_ext_SGIS_texture_filter4;
extern int ogl_ext_SGIS_texture_lod;
extern int ogl_ext_SGIS_texture_select;
extern int ogl_ext_SGIX_async;
extern int ogl_ext_SGIX_async_histogram;
extern int ogl_ext_SGIX_async_pixel;
extern int ogl_ext_SGIX_blend_alpha_minmax;
extern int ogl_ext_SGIX_calligraphic_fragment;
extern int ogl_ext_SGIX_clipmap;
extern int ogl_ext_SGIX_convolution_accuracy;
extern int ogl_ext_SGIX_depth_pass_instrument;
extern int ogl_ext_SGIX_depth_texture;
extern int ogl_ext_SGIX_flush_raster;
extern int ogl_ext_SGIX_fog_offset;
extern int ogl_ext_SGIX_fragment_lighting;
extern int ogl_ext_SGIX_framezoom;
extern int ogl_ext_SGIX_igloo_interface;
extern int ogl_ext_SGIX_instruments;
extern int ogl_ext_SGIX_interlace;
extern int ogl_ext_SGIX_ir_instrument1;
extern int ogl_ext_SGIX_list_priority;
extern int ogl_ext_SGIX_pixel_texture;
extern int ogl_ext_SGIX_pixel_tiles;
extern int ogl_ext_SGIX_polynomial_ffd;
extern int ogl_ext_SGIX_reference_plane;
extern int ogl_ext_SGIX_resample;
extern int ogl_ext_SGIX_scalebias_hint;
extern int ogl_ext_SGIX_shadow;
extern int ogl_ext_SGIX_shadow_ambient;
extern int ogl_ext_SGIX_sprite;
extern int ogl_ext_SGIX_subsample;
extern int ogl_ext_SGIX_tag_sample_buffer;
extern int ogl_ext_SGIX_texture_add_env;
extern int ogl_ext_SGIX_texture_coordinate_clamp;
extern int ogl_ext_SGIX_texture_lod_bias;
extern int ogl_ext_SGIX_texture_multi_buffer;
extern int ogl_ext_SGIX_texture_scale_bias;
extern int ogl_ext_SGIX_vertex_preclip;
extern int ogl_ext_SGIX_ycrcb;
extern int ogl_ext_SGIX_ycrcb_subsample;
extern int ogl_ext_SGIX_ycrcba;
extern int ogl_ext_SGI_color_matrix;
extern int ogl_ext_SGI_color_table;
extern int ogl_ext_SGI_texture_color_table;
extern int ogl_ext_SUNX_constant_data;
extern int ogl_ext_SUN_convolution_border_modes;
extern int ogl_ext_SUN_global_alpha;
extern int ogl_ext_SUN_mesh_array;
extern int ogl_ext_SUN_slice_accum;
extern int ogl_ext_SUN_triangle_list;
extern int ogl_ext_SUN_vertex;
extern int ogl_ext_WIN_phong_shading;
extern int ogl_ext_WIN_specular_fog;
# 5952 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glColorSubTable)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glColorTable)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glColorTableParameterfv)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glColorTableParameteriv)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glConvolutionFilter1D)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glConvolutionFilter2D)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glConvolutionParameterf)(GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glConvolutionParameterfv)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glConvolutionParameteri)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glConvolutionParameteriv)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glCopyColorSubTable)(GLenum, GLsizei, GLint, GLint, GLsizei);
extern void ( *_ptrc_glCopyColorTable)(GLenum, GLenum, GLint, GLint, GLsizei);
extern void ( *_ptrc_glCopyConvolutionFilter1D)(GLenum, GLenum, GLint, GLint, GLsizei);
extern void ( *_ptrc_glCopyConvolutionFilter2D)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glGetColorTable)(GLenum, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetColorTableParameterfv)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetColorTableParameteriv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetConvolutionFilter)(GLenum, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetConvolutionParameterfv)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetConvolutionParameteriv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetHistogram)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetHistogramParameterfv)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetHistogramParameteriv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetMinmax)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetMinmaxParameterfv)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetMinmaxParameteriv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetSeparableFilter)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
extern void ( *_ptrc_glHistogram)(GLenum, GLsizei, GLenum, GLboolean);
extern void ( *_ptrc_glMinmax)(GLenum, GLenum, GLboolean);
extern void ( *_ptrc_glResetHistogram)(GLenum);
extern void ( *_ptrc_glResetMinmax)(GLenum);
extern void ( *_ptrc_glSeparableFilter2D)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
extern void ( *_ptrc_glBindVertexArray)(GLuint);
extern void ( *_ptrc_glDeleteVertexArrays)(GLsizei, const GLuint *);
extern void ( *_ptrc_glGenVertexArrays)(GLsizei, GLuint *);
extern GLboolean ( *_ptrc_glIsVertexArray)(GLuint);
extern void ( *_ptrc_glFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr);
extern void * ( *_ptrc_glMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield);
extern void ( *_ptrc_glBindFramebuffer)(GLenum, GLuint);
extern void ( *_ptrc_glBindRenderbuffer)(GLenum, GLuint);
extern void ( *_ptrc_glBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
extern GLenum ( *_ptrc_glCheckFramebufferStatus)(GLenum);
extern void ( *_ptrc_glDeleteFramebuffers)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDeleteRenderbuffers)(GLsizei, const GLuint *);
extern void ( *_ptrc_glFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint);
extern void ( *_ptrc_glFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glGenFramebuffers)(GLsizei, GLuint *);
extern void ( *_ptrc_glGenRenderbuffers)(GLsizei, GLuint *);
extern void ( *_ptrc_glGenerateMipmap)(GLenum);
extern void ( *_ptrc_glGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetRenderbufferParameteriv)(GLenum, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsFramebuffer)(GLuint);
extern GLboolean ( *_ptrc_glIsRenderbuffer)(GLuint);
extern void ( *_ptrc_glRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *);
extern GLuint ( *_ptrc_glGetUniformBlockIndex)(GLuint, const GLchar *);
extern void ( *_ptrc_glGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *);
extern void ( *_ptrc_glUniformBlockBinding)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLint);
extern void ( *_ptrc_glDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint);
extern void ( *_ptrc_glDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint);
extern void ( *_ptrc_glMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei, const GLint *);
extern void ( *_ptrc_glProvokingVertex)(GLenum);
extern GLenum ( *_ptrc_glClientWaitSync)(GLsync, GLbitfield, GLuint64);
extern void ( *_ptrc_glDeleteSync)(GLsync);
extern GLsync ( *_ptrc_glFenceSync)(GLenum, GLbitfield);
extern void ( *_ptrc_glGetInteger64v)(GLenum, GLint64 *);
extern void ( *_ptrc_glGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *);
extern GLboolean ( *_ptrc_glIsSync)(GLsync);
extern void ( *_ptrc_glWaitSync)(GLsync, GLbitfield, GLuint64);
extern void ( *_ptrc_glGetMultisamplefv)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glSampleMaski)(GLuint, GLbitfield);
extern void ( *_ptrc_glTexImage2DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTexImage3DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
# 6167 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glGetQueryObjecti64v)(GLuint, GLenum, GLint64 *);
extern void ( *_ptrc_glGetQueryObjectui64v)(GLuint, GLenum, GLuint64 *);
extern void ( *_ptrc_glQueryCounter)(GLuint, GLenum);
extern void ( *_ptrc_glColorP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glColorP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glColorP4ui)(GLenum, GLuint);
extern void ( *_ptrc_glColorP4uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glMultiTexCoordP1ui)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordP1uiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glMultiTexCoordP2ui)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordP2uiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glMultiTexCoordP3ui)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordP3uiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glMultiTexCoordP4ui)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordP4uiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glNormalP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glNormalP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glSecondaryColorP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glSecondaryColorP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glTexCoordP1ui)(GLenum, GLuint);
extern void ( *_ptrc_glTexCoordP1uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glTexCoordP2ui)(GLenum, GLuint);
extern void ( *_ptrc_glTexCoordP2uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glTexCoordP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glTexCoordP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glTexCoordP4ui)(GLenum, GLuint);
extern void ( *_ptrc_glTexCoordP4uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glVertexAttribP1ui)(GLuint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribP1uiv)(GLuint, GLenum, GLboolean, const GLuint *);
extern void ( *_ptrc_glVertexAttribP2ui)(GLuint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribP2uiv)(GLuint, GLenum, GLboolean, const GLuint *);
extern void ( *_ptrc_glVertexAttribP3ui)(GLuint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribP3uiv)(GLuint, GLenum, GLboolean, const GLuint *);
extern void ( *_ptrc_glVertexAttribP4ui)(GLuint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribP4uiv)(GLuint, GLenum, GLboolean, const GLuint *);
extern void ( *_ptrc_glVertexP2ui)(GLenum, GLuint);
extern void ( *_ptrc_glVertexP2uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glVertexP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glVertexP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glVertexP4ui)(GLenum, GLuint);
extern void ( *_ptrc_glVertexP4uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *);
extern GLint ( *_ptrc_glGetFragDataIndex)(GLuint, const GLchar *);
extern void ( *_ptrc_glBindSampler)(GLuint, GLuint);
extern void ( *_ptrc_glDeleteSamplers)(GLsizei, const GLuint *);
extern void ( *_ptrc_glGenSamplers)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetSamplerParameterIiv)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *);
extern void ( *_ptrc_glGetSamplerParameterfv)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetSamplerParameteriv)(GLuint, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsSampler)(GLuint);
extern void ( *_ptrc_glSamplerParameterIiv)(GLuint, GLenum, const GLint *);
extern void ( *_ptrc_glSamplerParameterIuiv)(GLuint, GLenum, const GLuint *);
extern void ( *_ptrc_glSamplerParameterf)(GLuint, GLenum, GLfloat);
extern void ( *_ptrc_glSamplerParameterfv)(GLuint, GLenum, const GLfloat *);
extern void ( *_ptrc_glSamplerParameteri)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glSamplerParameteriv)(GLuint, GLenum, const GLint *);
extern void ( *_ptrc_glDrawArraysIndirect)(GLenum, const GLvoid *);
extern void ( *_ptrc_glDrawElementsIndirect)(GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glGetUniformdv)(GLuint, GLint, GLdouble *);
extern void ( *_ptrc_glUniform1d)(GLint, GLdouble);
extern void ( *_ptrc_glUniform1dv)(GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glUniform2d)(GLint, GLdouble, GLdouble);
extern void ( *_ptrc_glUniform2dv)(GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glUniform3d)(GLint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glUniform3dv)(GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glUniform4dv)(GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix2x3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix2x4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix3x4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix4x2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix4x3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *);
extern GLuint ( *_ptrc_glGetSubroutineIndex)(GLuint, GLenum, const GLchar *);
extern GLint ( *_ptrc_glGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *);
extern void ( *_ptrc_glGetUniformSubroutineuiv)(GLenum, GLint, GLuint *);
extern void ( *_ptrc_glUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *);
extern void ( *_ptrc_glPatchParameterfv)(GLenum, const GLfloat *);
extern void ( *_ptrc_glPatchParameteri)(GLenum, GLint);
extern void ( *_ptrc_glBindTransformFeedback)(GLenum, GLuint);
extern void ( *_ptrc_glDeleteTransformFeedbacks)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDrawTransformFeedback)(GLenum, GLuint);
extern void ( *_ptrc_glGenTransformFeedbacks)(GLsizei, GLuint *);
extern GLboolean ( *_ptrc_glIsTransformFeedback)(GLuint);
extern void ( *_ptrc_glPauseTransformFeedback)(void);
extern void ( *_ptrc_glResumeTransformFeedback)(void);
extern void ( *_ptrc_glBeginQueryIndexed)(GLenum, GLuint, GLuint);
extern void ( *_ptrc_glDrawTransformFeedbackStream)(GLenum, GLuint, GLuint);
extern void ( *_ptrc_glEndQueryIndexed)(GLenum, GLuint);
extern void ( *_ptrc_glGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glClearDepthf)(GLfloat);
extern void ( *_ptrc_glDepthRangef)(GLfloat, GLfloat);
extern void ( *_ptrc_glGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *);
extern void ( *_ptrc_glReleaseShaderCompiler)(void);
extern void ( *_ptrc_glShaderBinary)(GLsizei, const GLuint *, GLenum, const GLvoid *, GLsizei);
extern void ( *_ptrc_glGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, GLvoid *);
extern void ( *_ptrc_glProgramBinary)(GLuint, GLenum, const GLvoid *, GLsizei);
extern void ( *_ptrc_glProgramParameteri)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glActiveShaderProgram)(GLuint, GLuint);
extern void ( *_ptrc_glBindProgramPipeline)(GLuint);
extern GLuint ( *_ptrc_glCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*);
extern void ( *_ptrc_glDeleteProgramPipelines)(GLsizei, const GLuint *);
extern void ( *_ptrc_glGenProgramPipelines)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetProgramPipelineiv)(GLuint, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsProgramPipeline)(GLuint);
extern void ( *_ptrc_glProgramUniform1d)(GLuint, GLint, GLdouble);
extern void ( *_ptrc_glProgramUniform1dv)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform1f)(GLuint, GLint, GLfloat);
extern void ( *_ptrc_glProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform1i)(GLuint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform1ui)(GLuint, GLint, GLuint);
extern void ( *_ptrc_glProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform2d)(GLuint, GLint, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform2dv)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform2i)(GLuint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform2ui)(GLuint, GLint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform3d)(GLuint, GLint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform3dv)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform4d)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform4dv)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUseProgramStages)(GLuint, GLbitfield, GLuint);
extern void ( *_ptrc_glValidateProgramPipeline)(GLuint);
extern void ( *_ptrc_glGetVertexAttribLdv)(GLuint, GLenum, GLdouble *);
extern void ( *_ptrc_glVertexAttribL1d)(GLuint, GLdouble);
extern void ( *_ptrc_glVertexAttribL1dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL2d)(GLuint, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL2dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL3dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL4dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribLPointer)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glDepthRangeArrayv)(GLuint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glDepthRangeIndexed)(GLuint, GLdouble, GLdouble);
extern void ( *_ptrc_glGetDoublei_v)(GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetFloati_v)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glScissorArrayv)(GLuint, GLsizei, const GLint *);
extern void ( *_ptrc_glScissorIndexed)(GLuint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glScissorIndexedv)(GLuint, const GLint *);
extern void ( *_ptrc_glViewportArrayv)(GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glViewportIndexedfv)(GLuint, const GLfloat *);
extern void ( *_ptrc_glDrawArraysInstancedBaseInstance)(GLenum, GLint, GLsizei, GLsizei, GLuint);
extern void ( *_ptrc_glDrawElementsInstancedBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLuint);
extern void ( *_ptrc_glDrawElementsInstancedBaseVertexBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint, GLuint);
extern void ( *_ptrc_glDrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei);
extern void ( *_ptrc_glDrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei);
extern void ( *_ptrc_glGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *);
extern void ( *_ptrc_glGetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum);
extern void ( *_ptrc_glMemoryBarrier)(GLbitfield);
extern void ( *_ptrc_glTexStorage1D)(GLenum, GLsizei, GLenum, GLsizei);
extern void ( *_ptrc_glTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
extern void ( *_ptrc_glDebugMessageCallback)(GLDEBUGPROC, const void *);
extern void ( *_ptrc_glDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean);
extern void ( *_ptrc_glDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *);
extern GLuint ( *_ptrc_glGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetPointerv)(GLenum, GLvoid **);
extern void ( *_ptrc_glObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *);
extern void ( *_ptrc_glObjectPtrLabel)(const void *, GLsizei, const GLchar *);
extern void ( *_ptrc_glPopDebugGroup)(void);
extern void ( *_ptrc_glPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *);
extern void ( *_ptrc_glClearBufferData)(GLenum, GLenum, GLenum, GLenum, const void *);
extern void ( *_ptrc_glClearBufferSubData)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *);
extern void ( *_ptrc_glDispatchCompute)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glDispatchComputeIndirect)(GLintptr);
extern void ( *_ptrc_glCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
# 6706 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glFramebufferParameteri)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glGetFramebufferParameteriv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetInternalformati64v)(GLenum, GLenum, GLenum, GLsizei, GLint64 *);
extern void ( *_ptrc_glInvalidateBufferData)(GLuint);
extern void ( *_ptrc_glInvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glInvalidateFramebuffer)(GLenum, GLsizei, const GLenum *);
extern void ( *_ptrc_glInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glInvalidateTexImage)(GLuint, GLint);
extern void ( *_ptrc_glInvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
extern void ( *_ptrc_glMultiDrawArraysIndirect)(GLenum, const void *, GLsizei, GLsizei);
extern void ( *_ptrc_glMultiDrawElementsIndirect)(GLenum, GLenum, const void *, GLsizei, GLsizei);
extern void ( *_ptrc_glGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *);
extern GLuint ( *_ptrc_glGetProgramResourceIndex)(GLuint, GLenum, const GLchar *);
extern GLint ( *_ptrc_glGetProgramResourceLocation)(GLuint, GLenum, const GLchar *);
extern GLint ( *_ptrc_glGetProgramResourceLocationIndex)(GLuint, GLenum, const GLchar *);
extern void ( *_ptrc_glGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *);
extern void ( *_ptrc_glShaderStorageBlockBinding)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureView)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei);
extern void ( *_ptrc_glVertexAttribBinding)(GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint);
extern void ( *_ptrc_glVertexAttribLFormat)(GLuint, GLint, GLenum, GLuint);
extern void ( *_ptrc_glVertexBindingDivisor)(GLuint, GLuint);
extern void ( *_ptrc_glTbufferMask3DFX)(GLuint);
# 6815 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glDebugMessageCallbackAMD)(GLDEBUGPROCAMD, void *);
extern void ( *_ptrc_glDebugMessageEnableAMD)(GLenum, GLenum, GLsizei, const GLuint *, GLboolean);
extern void ( *_ptrc_glDebugMessageInsertAMD)(GLenum, GLenum, GLuint, GLsizei, const GLchar *);
extern GLuint ( *_ptrc_glGetDebugMessageLogAMD)(GLuint, GLsizei, GLenum *, GLuint *, GLuint *, GLsizei *, GLchar *);
extern void ( *_ptrc_glBlendEquationIndexedAMD)(GLuint, GLenum);
extern void ( *_ptrc_glBlendEquationSeparateIndexedAMD)(GLuint, GLenum, GLenum);
extern void ( *_ptrc_glBlendFuncIndexedAMD)(GLuint, GLenum, GLenum);
extern void ( *_ptrc_glBlendFuncSeparateIndexedAMD)(GLuint, GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glVertexAttribParameteriAMD)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glMultiDrawArraysIndirectAMD)(GLenum, const GLvoid *, GLsizei, GLsizei);
extern void ( *_ptrc_glMultiDrawElementsIndirectAMD)(GLenum, GLenum, const GLvoid *, GLsizei, GLsizei);
extern void ( *_ptrc_glDeleteNamesAMD)(GLenum, GLuint, const GLuint *);
extern void ( *_ptrc_glGenNamesAMD)(GLenum, GLuint, GLuint *);
extern GLboolean ( *_ptrc_glIsNameAMD)(GLenum, GLuint);
extern void ( *_ptrc_glBeginPerfMonitorAMD)(GLuint);
extern void ( *_ptrc_glDeletePerfMonitorsAMD)(GLsizei, GLuint *);
extern void ( *_ptrc_glEndPerfMonitorAMD)(GLuint);
extern void ( *_ptrc_glGenPerfMonitorsAMD)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetPerfMonitorCounterDataAMD)(GLuint, GLenum, GLsizei, GLuint *, GLint *);
extern void ( *_ptrc_glGetPerfMonitorCounterInfoAMD)(GLuint, GLuint, GLenum, GLvoid *);
extern void ( *_ptrc_glGetPerfMonitorCounterStringAMD)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetPerfMonitorCountersAMD)(GLuint, GLint *, GLint *, GLsizei, GLuint *);
extern void ( *_ptrc_glGetPerfMonitorGroupStringAMD)(GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetPerfMonitorGroupsAMD)(GLint *, GLsizei, GLuint *);
extern void ( *_ptrc_glSelectPerfMonitorCountersAMD)(GLuint, GLboolean, GLuint, GLint, GLuint *);
extern void ( *_ptrc_glSetMultisamplefvAMD)(GLenum, GLuint, const GLfloat *);
# 6901 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glTexStorageSparseAMD)(GLenum, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLbitfield);
extern void ( *_ptrc_glTextureStorageSparseAMD)(GLuint, GLenum, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLbitfield);
extern void ( *_ptrc_glStencilOpValueAMD)(GLenum, GLuint);
# 6918 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glTessellationFactorAMD)(GLfloat);
extern void ( *_ptrc_glTessellationModeAMD)(GLenum);
# 6929 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glDrawElementArrayAPPLE)(GLenum, GLint, GLsizei);
extern void ( *_ptrc_glDrawRangeElementArrayAPPLE)(GLenum, GLuint, GLuint, GLint, GLsizei);
extern void ( *_ptrc_glElementPointerAPPLE)(GLenum, const GLvoid *);
extern void ( *_ptrc_glMultiDrawElementArrayAPPLE)(GLenum, const GLint *, const GLsizei *, GLsizei);
extern void ( *_ptrc_glMultiDrawRangeElementArrayAPPLE)(GLenum, GLuint, GLuint, const GLint *, const GLsizei *, GLsizei);
extern void ( *_ptrc_glDeleteFencesAPPLE)(GLsizei, const GLuint *);
extern void ( *_ptrc_glFinishFenceAPPLE)(GLuint);
extern void ( *_ptrc_glFinishObjectAPPLE)(GLenum, GLint);
extern void ( *_ptrc_glGenFencesAPPLE)(GLsizei, GLuint *);
extern GLboolean ( *_ptrc_glIsFenceAPPLE)(GLuint);
extern void ( *_ptrc_glSetFenceAPPLE)(GLuint);
extern GLboolean ( *_ptrc_glTestFenceAPPLE)(GLuint);
extern GLboolean ( *_ptrc_glTestObjectAPPLE)(GLenum, GLuint);
extern void ( *_ptrc_glBufferParameteriAPPLE)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glFlushMappedBufferRangeAPPLE)(GLenum, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glGetObjectParameterivAPPLE)(GLenum, GLuint, GLenum, GLint *);
extern GLenum ( *_ptrc_glObjectPurgeableAPPLE)(GLenum, GLuint, GLenum);
extern GLenum ( *_ptrc_glObjectUnpurgeableAPPLE)(GLenum, GLuint, GLenum);
# 6985 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glGetTexParameterPointervAPPLE)(GLenum, GLenum, GLvoid **);
extern void ( *_ptrc_glTextureRangeAPPLE)(GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glBindVertexArrayAPPLE)(GLuint);
extern void ( *_ptrc_glDeleteVertexArraysAPPLE)(GLsizei, const GLuint *);
extern void ( *_ptrc_glGenVertexArraysAPPLE)(GLsizei, GLuint *);
extern GLboolean ( *_ptrc_glIsVertexArrayAPPLE)(GLuint);
extern void ( *_ptrc_glFlushVertexArrayRangeAPPLE)(GLsizei, GLvoid *);
extern void ( *_ptrc_glVertexArrayParameteriAPPLE)(GLenum, GLint);
extern void ( *_ptrc_glVertexArrayRangeAPPLE)(GLsizei, GLvoid *);
extern void ( *_ptrc_glDisableVertexAttribAPPLE)(GLuint, GLenum);
extern void ( *_ptrc_glEnableVertexAttribAPPLE)(GLuint, GLenum);
extern GLboolean ( *_ptrc_glIsVertexAttribEnabledAPPLE)(GLuint, GLenum);
extern void ( *_ptrc_glMapVertexAttrib1dAPPLE)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
extern void ( *_ptrc_glMapVertexAttrib1fAPPLE)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
extern void ( *_ptrc_glMapVertexAttrib2dAPPLE)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
extern void ( *_ptrc_glMapVertexAttrib2fAPPLE)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
extern GLuint64 ( *_ptrc_glGetImageHandleARB)(GLuint, GLint, GLboolean, GLint, GLenum);
extern GLuint64 ( *_ptrc_glGetTextureHandleARB)(GLuint);
extern GLuint64 ( *_ptrc_glGetTextureSamplerHandleARB)(GLuint, GLuint);
extern void ( *_ptrc_glGetVertexAttribLui64vARB)(GLuint, GLenum, GLuint64EXT *);
extern GLboolean ( *_ptrc_glIsImageHandleResidentARB)(GLuint64);
extern GLboolean ( *_ptrc_glIsTextureHandleResidentARB)(GLuint64);
extern void ( *_ptrc_glMakeImageHandleNonResidentARB)(GLuint64);
extern void ( *_ptrc_glMakeImageHandleResidentARB)(GLuint64, GLenum);
extern void ( *_ptrc_glMakeTextureHandleNonResidentARB)(GLuint64);
extern void ( *_ptrc_glMakeTextureHandleResidentARB)(GLuint64);
extern void ( *_ptrc_glProgramUniformHandleui64ARB)(GLuint, GLint, GLuint64);
extern void ( *_ptrc_glProgramUniformHandleui64vARB)(GLuint, GLint, GLsizei, const GLuint64 *);
extern void ( *_ptrc_glUniformHandleui64ARB)(GLint, GLuint64);
extern void ( *_ptrc_glUniformHandleui64vARB)(GLint, GLsizei, const GLuint64 *);
extern void ( *_ptrc_glVertexAttribL1ui64ARB)(GLuint, GLuint64EXT);
extern void ( *_ptrc_glVertexAttribL1ui64vARB)(GLuint, const GLuint64EXT *);
extern void ( *_ptrc_glBufferStorage)(GLenum, GLsizeiptr, const void *, GLbitfield);
extern GLsync ( *_ptrc_glCreateSyncFromCLeventARB)(struct _cl_context *, struct _cl_event *, GLbitfield);
extern void ( *_ptrc_glClearTexImage)(GLuint, GLint, GLenum, GLenum, const void *);
extern void ( *_ptrc_glClearTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *);
extern void ( *_ptrc_glClampColorARB)(GLenum, GLenum);
extern void ( *_ptrc_glDispatchComputeGroupSizeARB)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glDebugMessageCallbackARB)(GLDEBUGPROCARB, const void *);
extern void ( *_ptrc_glDebugMessageControlARB)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean);
extern void ( *_ptrc_glDebugMessageInsertARB)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *);
extern GLuint ( *_ptrc_glGetDebugMessageLogARB)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *);
extern void ( *_ptrc_glDrawBuffersARB)(GLsizei, const GLenum *);
extern void ( *_ptrc_glBlendEquationSeparateiARB)(GLuint, GLenum, GLenum);
extern void ( *_ptrc_glBlendEquationiARB)(GLuint, GLenum);
extern void ( *_ptrc_glBlendFuncSeparateiARB)(GLuint, GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glBlendFunciARB)(GLuint, GLenum, GLenum);
extern void ( *_ptrc_glDrawArraysInstancedARB)(GLenum, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glDrawElementsInstancedARB)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
extern void ( *_ptrc_glBindProgramARB)(GLenum, GLuint);
extern void ( *_ptrc_glDeleteProgramsARB)(GLsizei, const GLuint *);
extern void ( *_ptrc_glGenProgramsARB)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetProgramEnvParameterdvARB)(GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetProgramEnvParameterfvARB)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetProgramLocalParameterdvARB)(GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetProgramLocalParameterfvARB)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetProgramStringARB)(GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetProgramivARB)(GLenum, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsProgramARB)(GLuint);
extern void ( *_ptrc_glProgramEnvParameter4dARB)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramEnvParameter4dvARB)(GLenum, GLuint, const GLdouble *);
extern void ( *_ptrc_glProgramEnvParameter4fARB)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramEnvParameter4fvARB)(GLenum, GLuint, const GLfloat *);
extern void ( *_ptrc_glProgramLocalParameter4dARB)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramLocalParameter4dvARB)(GLenum, GLuint, const GLdouble *);
extern void ( *_ptrc_glProgramLocalParameter4fARB)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramLocalParameter4fvARB)(GLenum, GLuint, const GLfloat *);
extern void ( *_ptrc_glProgramStringARB)(GLenum, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glFramebufferTextureARB)(GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glFramebufferTextureFaceARB)(GLenum, GLenum, GLuint, GLint, GLenum);
extern void ( *_ptrc_glFramebufferTextureLayerARB)(GLenum, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glProgramParameteriARB)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glMultiDrawArraysIndirectCountARB)(GLenum, GLintptr, GLintptr, GLsizei, GLsizei);
extern void ( *_ptrc_glMultiDrawElementsIndirectCountARB)(GLenum, GLenum, GLintptr, GLintptr, GLsizei, GLsizei);
extern void ( *_ptrc_glVertexAttribDivisorARB)(GLuint, GLuint);
extern void ( *_ptrc_glCurrentPaletteMatrixARB)(GLint);
extern void ( *_ptrc_glMatrixIndexPointerARB)(GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glMatrixIndexubvARB)(GLint, const GLubyte *);
extern void ( *_ptrc_glMatrixIndexuivARB)(GLint, const GLuint *);
extern void ( *_ptrc_glMatrixIndexusvARB)(GLint, const GLushort *);
extern void ( *_ptrc_glBindBuffersBase)(GLenum, GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glBindBuffersRange)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *);
extern void ( *_ptrc_glBindImageTextures)(GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glBindSamplers)(GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glBindTextures)(GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glBindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *);
extern void ( *_ptrc_glSampleCoverageARB)(GLfloat, GLboolean);
extern void ( *_ptrc_glActiveTextureARB)(GLenum);
extern void ( *_ptrc_glClientActiveTextureARB)(GLenum);
extern void ( *_ptrc_glMultiTexCoord1dARB)(GLenum, GLdouble);
extern void ( *_ptrc_glMultiTexCoord1dvARB)(GLenum, const GLdouble *);
extern void ( *_ptrc_glMultiTexCoord1fARB)(GLenum, GLfloat);
extern void ( *_ptrc_glMultiTexCoord1fvARB)(GLenum, const GLfloat *);
extern void ( *_ptrc_glMultiTexCoord1iARB)(GLenum, GLint);
extern void ( *_ptrc_glMultiTexCoord1ivARB)(GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexCoord1sARB)(GLenum, GLshort);
extern void ( *_ptrc_glMultiTexCoord1svARB)(GLenum, const GLshort *);
extern void ( *_ptrc_glMultiTexCoord2dARB)(GLenum, GLdouble, GLdouble);
extern void ( *_ptrc_glMultiTexCoord2dvARB)(GLenum, const GLdouble *);
extern void ( *_ptrc_glMultiTexCoord2fARB)(GLenum, GLfloat, GLfloat);
extern void ( *_ptrc_glMultiTexCoord2fvARB)(GLenum, const GLfloat *);
extern void ( *_ptrc_glMultiTexCoord2iARB)(GLenum, GLint, GLint);
extern void ( *_ptrc_glMultiTexCoord2ivARB)(GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexCoord2sARB)(GLenum, GLshort, GLshort);
extern void ( *_ptrc_glMultiTexCoord2svARB)(GLenum, const GLshort *);
extern void ( *_ptrc_glMultiTexCoord3dARB)(GLenum, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glMultiTexCoord3dvARB)(GLenum, const GLdouble *);
extern void ( *_ptrc_glMultiTexCoord3fARB)(GLenum, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glMultiTexCoord3fvARB)(GLenum, const GLfloat *);
extern void ( *_ptrc_glMultiTexCoord3iARB)(GLenum, GLint, GLint, GLint);
extern void ( *_ptrc_glMultiTexCoord3ivARB)(GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexCoord3sARB)(GLenum, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glMultiTexCoord3svARB)(GLenum, const GLshort *);
extern void ( *_ptrc_glMultiTexCoord4dARB)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glMultiTexCoord4dvARB)(GLenum, const GLdouble *);
extern void ( *_ptrc_glMultiTexCoord4fARB)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glMultiTexCoord4fvARB)(GLenum, const GLfloat *);
extern void ( *_ptrc_glMultiTexCoord4iARB)(GLenum, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glMultiTexCoord4ivARB)(GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexCoord4sARB)(GLenum, GLshort, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glMultiTexCoord4svARB)(GLenum, const GLshort *);
extern void ( *_ptrc_glBeginQueryARB)(GLenum, GLuint);
extern void ( *_ptrc_glDeleteQueriesARB)(GLsizei, const GLuint *);
extern void ( *_ptrc_glEndQueryARB)(GLenum);
extern void ( *_ptrc_glGenQueriesARB)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetQueryObjectivARB)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetQueryObjectuivARB)(GLuint, GLenum, GLuint *);
extern void ( *_ptrc_glGetQueryivARB)(GLenum, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsQueryARB)(GLuint);
extern void ( *_ptrc_glPointParameterfARB)(GLenum, GLfloat);
extern void ( *_ptrc_glPointParameterfvARB)(GLenum, const GLfloat *);
# 7356 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern GLenum ( *_ptrc_glGetGraphicsResetStatusARB)(void);
extern void ( *_ptrc_glGetnColorTableARB)(GLenum, GLenum, GLenum, GLsizei, GLvoid *);
extern void ( *_ptrc_glGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, GLvoid *);
extern void ( *_ptrc_glGetnConvolutionFilterARB)(GLenum, GLenum, GLenum, GLsizei, GLvoid *);
extern void ( *_ptrc_glGetnHistogramARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid *);
extern void ( *_ptrc_glGetnMapdvARB)(GLenum, GLenum, GLsizei, GLdouble *);
extern void ( *_ptrc_glGetnMapfvARB)(GLenum, GLenum, GLsizei, GLfloat *);
extern void ( *_ptrc_glGetnMapivARB)(GLenum, GLenum, GLsizei, GLint *);
extern void ( *_ptrc_glGetnMinmaxARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid *);
extern void ( *_ptrc_glGetnPixelMapfvARB)(GLenum, GLsizei, GLfloat *);
extern void ( *_ptrc_glGetnPixelMapuivARB)(GLenum, GLsizei, GLuint *);
extern void ( *_ptrc_glGetnPixelMapusvARB)(GLenum, GLsizei, GLushort *);
extern void ( *_ptrc_glGetnPolygonStippleARB)(GLsizei, GLubyte *);
extern void ( *_ptrc_glGetnSeparableFilterARB)(GLenum, GLenum, GLenum, GLsizei, GLvoid *, GLsizei, GLvoid *, GLvoid *);
extern void ( *_ptrc_glGetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, GLvoid *);
extern void ( *_ptrc_glGetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *);
extern void ( *_ptrc_glGetnUniformfvARB)(GLuint, GLint, GLsizei, GLfloat *);
extern void ( *_ptrc_glGetnUniformivARB)(GLuint, GLint, GLsizei, GLint *);
extern void ( *_ptrc_glGetnUniformuivARB)(GLuint, GLint, GLsizei, GLuint *);
extern void ( *_ptrc_glReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, GLvoid *);
extern void ( *_ptrc_glMinSampleShadingARB)(GLfloat);
# 7411 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glAttachObjectARB)(GLhandleARB, GLhandleARB);
extern void ( *_ptrc_glCompileShaderARB)(GLhandleARB);
extern GLhandleARB ( *_ptrc_glCreateProgramObjectARB)(void);
extern GLhandleARB ( *_ptrc_glCreateShaderObjectARB)(GLenum);
extern void ( *_ptrc_glDeleteObjectARB)(GLhandleARB);
extern void ( *_ptrc_glDetachObjectARB)(GLhandleARB, GLhandleARB);
extern void ( *_ptrc_glGetActiveUniformARB)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *);
extern void ( *_ptrc_glGetAttachedObjectsARB)(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *);
extern GLhandleARB ( *_ptrc_glGetHandleARB)(GLenum);
extern void ( *_ptrc_glGetInfoLogARB)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
extern void ( *_ptrc_glGetObjectParameterfvARB)(GLhandleARB, GLenum, GLfloat *);
extern void ( *_ptrc_glGetObjectParameterivARB)(GLhandleARB, GLenum, GLint *);
extern void ( *_ptrc_glGetShaderSourceARB)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
extern GLint ( *_ptrc_glGetUniformLocationARB)(GLhandleARB, const GLcharARB *);
extern void ( *_ptrc_glGetUniformfvARB)(GLhandleARB, GLint, GLfloat *);
extern void ( *_ptrc_glGetUniformivARB)(GLhandleARB, GLint, GLint *);
extern void ( *_ptrc_glLinkProgramARB)(GLhandleARB);
extern void ( *_ptrc_glShaderSourceARB)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *);
extern void ( *_ptrc_glUniform1fARB)(GLint, GLfloat);
extern void ( *_ptrc_glUniform1fvARB)(GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glUniform1iARB)(GLint, GLint);
extern void ( *_ptrc_glUniform1ivARB)(GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glUniform2fARB)(GLint, GLfloat, GLfloat);
extern void ( *_ptrc_glUniform2fvARB)(GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glUniform2iARB)(GLint, GLint, GLint);
extern void ( *_ptrc_glUniform2ivARB)(GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glUniform3fARB)(GLint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glUniform3fvARB)(GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glUniform3iARB)(GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glUniform3ivARB)(GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glUniform4fARB)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glUniform4fvARB)(GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glUniform4iARB)(GLint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glUniform4ivARB)(GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glUniformMatrix2fvARB)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix3fvARB)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix4fvARB)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUseProgramObjectARB)(GLhandleARB);
extern void ( *_ptrc_glValidateProgramARB)(GLhandleARB);
# 7497 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glCompileShaderIncludeARB)(GLuint, GLsizei, const GLchar *const*, const GLint *);
extern void ( *_ptrc_glDeleteNamedStringARB)(GLint, const GLchar *);
extern void ( *_ptrc_glGetNamedStringARB)(GLint, const GLchar *, GLsizei, GLint *, GLchar *);
extern void ( *_ptrc_glGetNamedStringivARB)(GLint, const GLchar *, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsNamedStringARB)(GLint, const GLchar *);
extern void ( *_ptrc_glNamedStringARB)(GLenum, GLint, const GLchar *, GLint, const GLchar *);
extern void ( *_ptrc_glTexPageCommitmentARB)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTexBufferARB)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glCompressedTexImage1DARB)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexImage2DARB)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexImage3DARB)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexSubImage1DARB)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexSubImage2DARB)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexSubImage3DARB)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glGetCompressedTexImageARB)(GLenum, GLint, GLvoid *);
# 7562 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glLoadTransposeMatrixdARB)(const GLdouble *);
extern void ( *_ptrc_glLoadTransposeMatrixfARB)(const GLfloat *);
extern void ( *_ptrc_glMultTransposeMatrixdARB)(const GLdouble *);
extern void ( *_ptrc_glMultTransposeMatrixfARB)(const GLfloat *);
extern void ( *_ptrc_glVertexBlendARB)(GLint);
extern void ( *_ptrc_glWeightPointerARB)(GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glWeightbvARB)(GLint, const GLbyte *);
extern void ( *_ptrc_glWeightdvARB)(GLint, const GLdouble *);
extern void ( *_ptrc_glWeightfvARB)(GLint, const GLfloat *);
extern void ( *_ptrc_glWeightivARB)(GLint, const GLint *);
extern void ( *_ptrc_glWeightsvARB)(GLint, const GLshort *);
extern void ( *_ptrc_glWeightubvARB)(GLint, const GLubyte *);
extern void ( *_ptrc_glWeightuivARB)(GLint, const GLuint *);
extern void ( *_ptrc_glWeightusvARB)(GLint, const GLushort *);
extern void ( *_ptrc_glBindBufferARB)(GLenum, GLuint);
extern void ( *_ptrc_glBufferDataARB)(GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
extern void ( *_ptrc_glBufferSubDataARB)(GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *);
extern void ( *_ptrc_glDeleteBuffersARB)(GLsizei, const GLuint *);
extern void ( *_ptrc_glGenBuffersARB)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetBufferParameterivARB)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetBufferPointervARB)(GLenum, GLenum, GLvoid **);
extern void ( *_ptrc_glGetBufferSubDataARB)(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *);
extern GLboolean ( *_ptrc_glIsBufferARB)(GLuint);
extern void * ( *_ptrc_glMapBufferARB)(GLenum, GLenum);
extern GLboolean ( *_ptrc_glUnmapBufferARB)(GLenum);
extern void ( *_ptrc_glBindProgramARB)(GLenum, GLuint);
extern void ( *_ptrc_glDeleteProgramsARB)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDisableVertexAttribArrayARB)(GLuint);
extern void ( *_ptrc_glEnableVertexAttribArrayARB)(GLuint);
extern void ( *_ptrc_glGenProgramsARB)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetProgramEnvParameterdvARB)(GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetProgramEnvParameterfvARB)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetProgramLocalParameterdvARB)(GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetProgramLocalParameterfvARB)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetProgramStringARB)(GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetProgramivARB)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetVertexAttribPointervARB)(GLuint, GLenum, GLvoid **);
extern void ( *_ptrc_glGetVertexAttribdvARB)(GLuint, GLenum, GLdouble *);
extern void ( *_ptrc_glGetVertexAttribfvARB)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetVertexAttribivARB)(GLuint, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsProgramARB)(GLuint);
extern void ( *_ptrc_glProgramEnvParameter4dARB)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramEnvParameter4dvARB)(GLenum, GLuint, const GLdouble *);
extern void ( *_ptrc_glProgramEnvParameter4fARB)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramEnvParameter4fvARB)(GLenum, GLuint, const GLfloat *);
extern void ( *_ptrc_glProgramLocalParameter4dARB)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramLocalParameter4dvARB)(GLenum, GLuint, const GLdouble *);
extern void ( *_ptrc_glProgramLocalParameter4fARB)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramLocalParameter4fvARB)(GLenum, GLuint, const GLfloat *);
extern void ( *_ptrc_glProgramStringARB)(GLenum, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glVertexAttrib1dARB)(GLuint, GLdouble);
extern void ( *_ptrc_glVertexAttrib1dvARB)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib1fARB)(GLuint, GLfloat);
extern void ( *_ptrc_glVertexAttrib1fvARB)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib1sARB)(GLuint, GLshort);
extern void ( *_ptrc_glVertexAttrib1svARB)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib2dARB)(GLuint, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib2dvARB)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib2fARB)(GLuint, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib2fvARB)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib2sARB)(GLuint, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib2svARB)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib3dARB)(GLuint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib3dvARB)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib3fARB)(GLuint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib3fvARB)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib3sARB)(GLuint, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib3svARB)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib4NbvARB)(GLuint, const GLbyte *);
extern void ( *_ptrc_glVertexAttrib4NivARB)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttrib4NsvARB)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib4NubARB)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
extern void ( *_ptrc_glVertexAttrib4NubvARB)(GLuint, const GLubyte *);
extern void ( *_ptrc_glVertexAttrib4NuivARB)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttrib4NusvARB)(GLuint, const GLushort *);
extern void ( *_ptrc_glVertexAttrib4bvARB)(GLuint, const GLbyte *);
extern void ( *_ptrc_glVertexAttrib4dARB)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib4dvARB)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib4fARB)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib4fvARB)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib4ivARB)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttrib4sARB)(GLuint, GLshort, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib4svARB)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib4ubvARB)(GLuint, const GLubyte *);
extern void ( *_ptrc_glVertexAttrib4uivARB)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttrib4usvARB)(GLuint, const GLushort *);
extern void ( *_ptrc_glVertexAttribPointerARB)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
extern void ( *_ptrc_glBindAttribLocationARB)(GLhandleARB, GLuint, const GLcharARB *);
extern void ( *_ptrc_glGetActiveAttribARB)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *);
extern GLint ( *_ptrc_glGetAttribLocationARB)(GLhandleARB, const GLcharARB *);
extern void ( *_ptrc_glWindowPos2dARB)(GLdouble, GLdouble);
extern void ( *_ptrc_glWindowPos2dvARB)(const GLdouble *);
extern void ( *_ptrc_glWindowPos2fARB)(GLfloat, GLfloat);
extern void ( *_ptrc_glWindowPos2fvARB)(const GLfloat *);
extern void ( *_ptrc_glWindowPos2iARB)(GLint, GLint);
extern void ( *_ptrc_glWindowPos2ivARB)(const GLint *);
extern void ( *_ptrc_glWindowPos2sARB)(GLshort, GLshort);
extern void ( *_ptrc_glWindowPos2svARB)(const GLshort *);
extern void ( *_ptrc_glWindowPos3dARB)(GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glWindowPos3dvARB)(const GLdouble *);
extern void ( *_ptrc_glWindowPos3fARB)(GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glWindowPos3fvARB)(const GLfloat *);
extern void ( *_ptrc_glWindowPos3iARB)(GLint, GLint, GLint);
extern void ( *_ptrc_glWindowPos3ivARB)(const GLint *);
extern void ( *_ptrc_glWindowPos3sARB)(GLshort, GLshort, GLshort);
extern void ( *_ptrc_glWindowPos3svARB)(const GLshort *);
extern void ( *_ptrc_glDrawBuffersATI)(GLsizei, const GLenum *);
extern void ( *_ptrc_glDrawElementArrayATI)(GLenum, GLsizei);
extern void ( *_ptrc_glDrawRangeElementArrayATI)(GLenum, GLuint, GLuint, GLsizei);
extern void ( *_ptrc_glElementPointerATI)(GLenum, const GLvoid *);
extern void ( *_ptrc_glGetTexBumpParameterfvATI)(GLenum, GLfloat *);
extern void ( *_ptrc_glGetTexBumpParameterivATI)(GLenum, GLint *);
extern void ( *_ptrc_glTexBumpParameterfvATI)(GLenum, const GLfloat *);
extern void ( *_ptrc_glTexBumpParameterivATI)(GLenum, const GLint *);
extern void ( *_ptrc_glAlphaFragmentOp1ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glAlphaFragmentOp2ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glAlphaFragmentOp3ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glBeginFragmentShaderATI)(void);
extern void ( *_ptrc_glBindFragmentShaderATI)(GLuint);
extern void ( *_ptrc_glColorFragmentOp1ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glColorFragmentOp2ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glColorFragmentOp3ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glDeleteFragmentShaderATI)(GLuint);
extern void ( *_ptrc_glEndFragmentShaderATI)(void);
extern GLuint ( *_ptrc_glGenFragmentShadersATI)(GLuint);
extern void ( *_ptrc_glPassTexCoordATI)(GLuint, GLuint, GLenum);
extern void ( *_ptrc_glSampleMapATI)(GLuint, GLuint, GLenum);
extern void ( *_ptrc_glSetFragmentShaderConstantATI)(GLuint, const GLfloat *);
extern void * ( *_ptrc_glMapObjectBufferATI)(GLuint);
extern void ( *_ptrc_glUnmapObjectBufferATI)(GLuint);
extern void ( *_ptrc_glPNTrianglesfATI)(GLenum, GLfloat);
extern void ( *_ptrc_glPNTrianglesiATI)(GLenum, GLint);
extern void ( *_ptrc_glStencilFuncSeparateATI)(GLenum, GLenum, GLint, GLuint);
extern void ( *_ptrc_glStencilOpSeparateATI)(GLenum, GLenum, GLenum, GLenum);
# 7889 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glArrayObjectATI)(GLenum, GLint, GLenum, GLsizei, GLuint, GLuint);
extern void ( *_ptrc_glFreeObjectBufferATI)(GLuint);
extern void ( *_ptrc_glGetArrayObjectfvATI)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetArrayObjectivATI)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetObjectBufferfvATI)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetObjectBufferivATI)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVariantArrayObjectfvATI)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetVariantArrayObjectivATI)(GLuint, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsObjectBufferATI)(GLuint);
extern GLuint ( *_ptrc_glNewObjectBufferATI)(GLsizei, const GLvoid *, GLenum);
extern void ( *_ptrc_glUpdateObjectBufferATI)(GLuint, GLuint, GLsizei, const GLvoid *, GLenum);
extern void ( *_ptrc_glVariantArrayObjectATI)(GLuint, GLenum, GLsizei, GLuint, GLuint);
extern void ( *_ptrc_glGetVertexAttribArrayObjectfvATI)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetVertexAttribArrayObjectivATI)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glVertexAttribArrayObjectATI)(GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint);
extern void ( *_ptrc_glClientActiveVertexStreamATI)(GLenum);
extern void ( *_ptrc_glNormalStream3bATI)(GLenum, GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glNormalStream3bvATI)(GLenum, const GLbyte *);
extern void ( *_ptrc_glNormalStream3dATI)(GLenum, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glNormalStream3dvATI)(GLenum, const GLdouble *);
extern void ( *_ptrc_glNormalStream3fATI)(GLenum, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glNormalStream3fvATI)(GLenum, const GLfloat *);
extern void ( *_ptrc_glNormalStream3iATI)(GLenum, GLint, GLint, GLint);
extern void ( *_ptrc_glNormalStream3ivATI)(GLenum, const GLint *);
extern void ( *_ptrc_glNormalStream3sATI)(GLenum, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glNormalStream3svATI)(GLenum, const GLshort *);
extern void ( *_ptrc_glVertexBlendEnvfATI)(GLenum, GLfloat);
extern void ( *_ptrc_glVertexBlendEnviATI)(GLenum, GLint);
extern void ( *_ptrc_glVertexStream1dATI)(GLenum, GLdouble);
extern void ( *_ptrc_glVertexStream1dvATI)(GLenum, const GLdouble *);
extern void ( *_ptrc_glVertexStream1fATI)(GLenum, GLfloat);
extern void ( *_ptrc_glVertexStream1fvATI)(GLenum, const GLfloat *);
extern void ( *_ptrc_glVertexStream1iATI)(GLenum, GLint);
extern void ( *_ptrc_glVertexStream1ivATI)(GLenum, const GLint *);
extern void ( *_ptrc_glVertexStream1sATI)(GLenum, GLshort);
extern void ( *_ptrc_glVertexStream1svATI)(GLenum, const GLshort *);
extern void ( *_ptrc_glVertexStream2dATI)(GLenum, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexStream2dvATI)(GLenum, const GLdouble *);
extern void ( *_ptrc_glVertexStream2fATI)(GLenum, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexStream2fvATI)(GLenum, const GLfloat *);
extern void ( *_ptrc_glVertexStream2iATI)(GLenum, GLint, GLint);
extern void ( *_ptrc_glVertexStream2ivATI)(GLenum, const GLint *);
extern void ( *_ptrc_glVertexStream2sATI)(GLenum, GLshort, GLshort);
extern void ( *_ptrc_glVertexStream2svATI)(GLenum, const GLshort *);
extern void ( *_ptrc_glVertexStream3dATI)(GLenum, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexStream3dvATI)(GLenum, const GLdouble *);
extern void ( *_ptrc_glVertexStream3fATI)(GLenum, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexStream3fvATI)(GLenum, const GLfloat *);
extern void ( *_ptrc_glVertexStream3iATI)(GLenum, GLint, GLint, GLint);
extern void ( *_ptrc_glVertexStream3ivATI)(GLenum, const GLint *);
extern void ( *_ptrc_glVertexStream3sATI)(GLenum, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glVertexStream3svATI)(GLenum, const GLshort *);
extern void ( *_ptrc_glVertexStream4dATI)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexStream4dvATI)(GLenum, const GLdouble *);
extern void ( *_ptrc_glVertexStream4fATI)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexStream4fvATI)(GLenum, const GLfloat *);
extern void ( *_ptrc_glVertexStream4iATI)(GLenum, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glVertexStream4ivATI)(GLenum, const GLint *);
extern void ( *_ptrc_glVertexStream4sATI)(GLenum, GLshort, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glVertexStream4svATI)(GLenum, const GLshort *);
# 8024 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern GLint ( *_ptrc_glGetUniformBufferSizeEXT)(GLuint, GLint);
extern GLintptr ( *_ptrc_glGetUniformOffsetEXT)(GLuint, GLint);
extern void ( *_ptrc_glUniformBufferEXT)(GLuint, GLint, GLuint);
extern void ( *_ptrc_glBlendColorEXT)(GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glBlendEquationSeparateEXT)(GLenum, GLenum);
extern void ( *_ptrc_glBlendFuncSeparateEXT)(GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glBlendEquationEXT)(GLenum);
# 8062 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glColorSubTableEXT)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glCopyColorSubTableEXT)(GLenum, GLsizei, GLint, GLint, GLsizei);
extern void ( *_ptrc_glLockArraysEXT)(GLint, GLsizei);
extern void ( *_ptrc_glUnlockArraysEXT)(void);
extern void ( *_ptrc_glConvolutionFilter1DEXT)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glConvolutionFilter2DEXT)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glConvolutionParameterfEXT)(GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glConvolutionParameterfvEXT)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glConvolutionParameteriEXT)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glConvolutionParameterivEXT)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glCopyConvolutionFilter1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei);
extern void ( *_ptrc_glCopyConvolutionFilter2DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glGetConvolutionFilterEXT)(GLenum, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetConvolutionParameterfvEXT)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetConvolutionParameterivEXT)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetSeparableFilterEXT)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
extern void ( *_ptrc_glSeparableFilter2DEXT)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
extern void ( *_ptrc_glBinormal3bEXT)(GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glBinormal3bvEXT)(const GLbyte *);
extern void ( *_ptrc_glBinormal3dEXT)(GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glBinormal3dvEXT)(const GLdouble *);
extern void ( *_ptrc_glBinormal3fEXT)(GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glBinormal3fvEXT)(const GLfloat *);
extern void ( *_ptrc_glBinormal3iEXT)(GLint, GLint, GLint);
extern void ( *_ptrc_glBinormal3ivEXT)(const GLint *);
extern void ( *_ptrc_glBinormal3sEXT)(GLshort, GLshort, GLshort);
extern void ( *_ptrc_glBinormal3svEXT)(const GLshort *);
extern void ( *_ptrc_glBinormalPointerEXT)(GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glTangent3bEXT)(GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glTangent3bvEXT)(const GLbyte *);
extern void ( *_ptrc_glTangent3dEXT)(GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glTangent3dvEXT)(const GLdouble *);
extern void ( *_ptrc_glTangent3fEXT)(GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glTangent3fvEXT)(const GLfloat *);
extern void ( *_ptrc_glTangent3iEXT)(GLint, GLint, GLint);
extern void ( *_ptrc_glTangent3ivEXT)(const GLint *);
extern void ( *_ptrc_glTangent3sEXT)(GLshort, GLshort, GLshort);
extern void ( *_ptrc_glTangent3svEXT)(const GLshort *);
extern void ( *_ptrc_glTangentPointerEXT)(GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCopyTexImage1DEXT)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
extern void ( *_ptrc_glCopyTexImage2DEXT)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
extern void ( *_ptrc_glCopyTexSubImage1DEXT)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
extern void ( *_ptrc_glCopyTexSubImage2DEXT)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glCopyTexSubImage3DEXT)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glCullParameterdvEXT)(GLenum, GLdouble *);
extern void ( *_ptrc_glCullParameterfvEXT)(GLenum, GLfloat *);
extern void ( *_ptrc_glDepthBoundsEXT)(GLclampd, GLclampd);
extern void ( *_ptrc_glBindMultiTextureEXT)(GLenum, GLenum, GLuint);
extern GLenum ( *_ptrc_glCheckNamedFramebufferStatusEXT)(GLuint, GLenum);
extern void ( *_ptrc_glClearNamedBufferDataEXT)(GLuint, GLenum, GLenum, GLenum, const void *);
extern void ( *_ptrc_glClearNamedBufferSubDataEXT)(GLuint, GLenum, GLenum, GLenum, GLsizeiptr, GLsizeiptr, const void *);
extern void ( *_ptrc_glClientAttribDefaultEXT)(GLbitfield);
extern void ( *_ptrc_glCompressedMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTextureImage3DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCopyMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
extern void ( *_ptrc_glCopyMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
extern void ( *_ptrc_glCopyMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei);
extern void ( *_ptrc_glCopyMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glCopyMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glCopyTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
extern void ( *_ptrc_glCopyTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
extern void ( *_ptrc_glCopyTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei);
extern void ( *_ptrc_glCopyTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glCopyTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glDisableClientStateIndexedEXT)(GLenum, GLuint);
extern void ( *_ptrc_glDisableClientStateiEXT)(GLenum, GLuint);
extern void ( *_ptrc_glDisableIndexedEXT)(GLenum, GLuint);
extern void ( *_ptrc_glDisableVertexArrayAttribEXT)(GLuint, GLuint);
extern void ( *_ptrc_glDisableVertexArrayEXT)(GLuint, GLenum);
extern void ( *_ptrc_glEnableClientStateIndexedEXT)(GLenum, GLuint);
extern void ( *_ptrc_glEnableClientStateiEXT)(GLenum, GLuint);
extern void ( *_ptrc_glEnableIndexedEXT)(GLenum, GLuint);
extern void ( *_ptrc_glEnableVertexArrayAttribEXT)(GLuint, GLuint);
extern void ( *_ptrc_glEnableVertexArrayEXT)(GLuint, GLenum);
extern void ( *_ptrc_glFlushMappedNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glFramebufferDrawBufferEXT)(GLuint, GLenum);
extern void ( *_ptrc_glFramebufferDrawBuffersEXT)(GLuint, GLsizei, const GLenum *);
extern void ( *_ptrc_glFramebufferReadBufferEXT)(GLuint, GLenum);
extern void ( *_ptrc_glGenerateMultiTexMipmapEXT)(GLenum, GLenum);
extern void ( *_ptrc_glGenerateTextureMipmapEXT)(GLuint, GLenum);
extern void ( *_ptrc_glGetBooleanIndexedvEXT)(GLenum, GLuint, GLboolean *);
extern void ( *_ptrc_glGetCompressedMultiTexImageEXT)(GLenum, GLenum, GLint, GLvoid *);
extern void ( *_ptrc_glGetCompressedTextureImageEXT)(GLuint, GLenum, GLint, GLvoid *);
extern void ( *_ptrc_glGetDoubleIndexedvEXT)(GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetDoublei_vEXT)(GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetFloatIndexedvEXT)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetFloati_vEXT)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetFramebufferParameterivEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetIntegerIndexedvEXT)(GLenum, GLuint, GLint *);
extern void ( *_ptrc_glGetMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetMultiTexEnvivEXT)(GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetMultiTexGendvEXT)(GLenum, GLenum, GLenum, GLdouble *);
extern void ( *_ptrc_glGetMultiTexGenfvEXT)(GLenum, GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetMultiTexGenivEXT)(GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetMultiTexImageEXT)(GLenum, GLenum, GLint, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetMultiTexLevelParameterfvEXT)(GLenum, GLenum, GLint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetMultiTexLevelParameterivEXT)(GLenum, GLenum, GLint, GLenum, GLint *);
extern void ( *_ptrc_glGetMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, GLuint *);
extern void ( *_ptrc_glGetMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetMultiTexParameterivEXT)(GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetNamedBufferParameterivEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetNamedBufferPointervEXT)(GLuint, GLenum, GLvoid **);
extern void ( *_ptrc_glGetNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, GLvoid *);
extern void ( *_ptrc_glGetNamedFramebufferAttachmentParameterivEXT)(GLuint, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetNamedFramebufferParameterivEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetNamedProgramLocalParameterIivEXT)(GLuint, GLenum, GLuint, GLint *);
extern void ( *_ptrc_glGetNamedProgramLocalParameterIuivEXT)(GLuint, GLenum, GLuint, GLuint *);
extern void ( *_ptrc_glGetNamedProgramLocalParameterdvEXT)(GLuint, GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetNamedProgramLocalParameterfvEXT)(GLuint, GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetNamedProgramStringEXT)(GLuint, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetNamedProgramivEXT)(GLuint, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetNamedRenderbufferParameterivEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetPointerIndexedvEXT)(GLenum, GLuint, GLvoid **);
extern void ( *_ptrc_glGetPointeri_vEXT)(GLenum, GLuint, GLvoid **);
extern void ( *_ptrc_glGetTextureImageEXT)(GLuint, GLenum, GLint, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetTextureLevelParameterfvEXT)(GLuint, GLenum, GLint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetTextureLevelParameterivEXT)(GLuint, GLenum, GLint, GLenum, GLint *);
extern void ( *_ptrc_glGetTextureParameterIivEXT)(GLuint, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetTextureParameterIuivEXT)(GLuint, GLenum, GLenum, GLuint *);
extern void ( *_ptrc_glGetTextureParameterfvEXT)(GLuint, GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetTextureParameterivEXT)(GLuint, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetVertexArrayIntegeri_vEXT)(GLuint, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVertexArrayIntegervEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVertexArrayPointeri_vEXT)(GLuint, GLuint, GLenum, GLvoid **);
extern void ( *_ptrc_glGetVertexArrayPointervEXT)(GLuint, GLenum, GLvoid **);
extern GLboolean ( *_ptrc_glIsEnabledIndexedEXT)(GLenum, GLuint);
extern void * ( *_ptrc_glMapNamedBufferEXT)(GLuint, GLenum);
extern void * ( *_ptrc_glMapNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr, GLbitfield);
extern void ( *_ptrc_glMatrixFrustumEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glMatrixLoadIdentityEXT)(GLenum);
extern void ( *_ptrc_glMatrixLoadTransposedEXT)(GLenum, const GLdouble *);
extern void ( *_ptrc_glMatrixLoadTransposefEXT)(GLenum, const GLfloat *);
extern void ( *_ptrc_glMatrixLoaddEXT)(GLenum, const GLdouble *);
extern void ( *_ptrc_glMatrixLoadfEXT)(GLenum, const GLfloat *);
extern void ( *_ptrc_glMatrixMultTransposedEXT)(GLenum, const GLdouble *);
extern void ( *_ptrc_glMatrixMultTransposefEXT)(GLenum, const GLfloat *);
extern void ( *_ptrc_glMatrixMultdEXT)(GLenum, const GLdouble *);
extern void ( *_ptrc_glMatrixMultfEXT)(GLenum, const GLfloat *);
extern void ( *_ptrc_glMatrixOrthoEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glMatrixPopEXT)(GLenum);
extern void ( *_ptrc_glMatrixPushEXT)(GLenum);
extern void ( *_ptrc_glMatrixRotatedEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glMatrixRotatefEXT)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glMatrixScaledEXT)(GLenum, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glMatrixScalefEXT)(GLenum, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glMatrixTranslatedEXT)(GLenum, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glMatrixTranslatefEXT)(GLenum, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glMultiTexBufferEXT)(GLenum, GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordPointerEXT)(GLenum, GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glMultiTexEnvfEXT)(GLenum, GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glMultiTexEnviEXT)(GLenum, GLenum, GLenum, GLint);
extern void ( *_ptrc_glMultiTexEnvivEXT)(GLenum, GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexGendEXT)(GLenum, GLenum, GLenum, GLdouble);
extern void ( *_ptrc_glMultiTexGendvEXT)(GLenum, GLenum, GLenum, const GLdouble *);
extern void ( *_ptrc_glMultiTexGenfEXT)(GLenum, GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glMultiTexGenfvEXT)(GLenum, GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glMultiTexGeniEXT)(GLenum, GLenum, GLenum, GLint);
extern void ( *_ptrc_glMultiTexGenivEXT)(GLenum, GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glMultiTexParameterfEXT)(GLenum, GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glMultiTexParameteriEXT)(GLenum, GLenum, GLenum, GLint);
extern void ( *_ptrc_glMultiTexParameterivEXT)(GLenum, GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexRenderbufferEXT)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glNamedBufferDataEXT)(GLuint, GLsizeiptr, const GLvoid *, GLenum);
extern void ( *_ptrc_glNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, const GLvoid *);
extern void ( *_ptrc_glNamedCopyBufferSubDataEXT)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glNamedFramebufferParameteriEXT)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glNamedFramebufferRenderbufferEXT)(GLuint, GLenum, GLenum, GLuint);
extern void ( *_ptrc_glNamedFramebufferTexture1DEXT)(GLuint, GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glNamedFramebufferTexture2DEXT)(GLuint, GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glNamedFramebufferTexture3DEXT)(GLuint, GLenum, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glNamedFramebufferTextureEXT)(GLuint, GLenum, GLuint, GLint);
extern void ( *_ptrc_glNamedFramebufferTextureFaceEXT)(GLuint, GLenum, GLuint, GLint, GLenum);
extern void ( *_ptrc_glNamedFramebufferTextureLayerEXT)(GLuint, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glNamedProgramLocalParameter4dEXT)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glNamedProgramLocalParameter4dvEXT)(GLuint, GLenum, GLuint, const GLdouble *);
extern void ( *_ptrc_glNamedProgramLocalParameter4fEXT)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glNamedProgramLocalParameter4fvEXT)(GLuint, GLenum, GLuint, const GLfloat *);
extern void ( *_ptrc_glNamedProgramLocalParameterI4iEXT)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glNamedProgramLocalParameterI4ivEXT)(GLuint, GLenum, GLuint, const GLint *);
extern void ( *_ptrc_glNamedProgramLocalParameterI4uiEXT)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glNamedProgramLocalParameterI4uivEXT)(GLuint, GLenum, GLuint, const GLuint *);
extern void ( *_ptrc_glNamedProgramLocalParameters4fvEXT)(GLuint, GLenum, GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glNamedProgramLocalParametersI4ivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLint *);
extern void ( *_ptrc_glNamedProgramLocalParametersI4uivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glNamedProgramStringEXT)(GLuint, GLenum, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glNamedRenderbufferStorageEXT)(GLuint, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glNamedRenderbufferStorageMultisampleEXT)(GLuint, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glProgramUniform1dEXT)(GLuint, GLint, GLdouble);
extern void ( *_ptrc_glProgramUniform1dvEXT)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform1fEXT)(GLuint, GLint, GLfloat);
extern void ( *_ptrc_glProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform1iEXT)(GLuint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform1uiEXT)(GLuint, GLint, GLuint);
extern void ( *_ptrc_glProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform2dEXT)(GLuint, GLint, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform2dvEXT)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform2iEXT)(GLuint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform3dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform3dvEXT)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform4dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform4dvEXT)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniformMatrix2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix2x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix2x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glPushClientAttribDefaultEXT)(GLbitfield);
extern void ( *_ptrc_glTextureBufferEXT)(GLuint, GLenum, GLenum, GLuint);
extern void ( *_ptrc_glTextureBufferRangeEXT)(GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glTextureImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTextureImage2DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTextureImage3DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexturePageCommitmentEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureParameterIivEXT)(GLuint, GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glTextureParameterIuivEXT)(GLuint, GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glTextureParameterfEXT)(GLuint, GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glTextureParameterfvEXT)(GLuint, GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glTextureParameteriEXT)(GLuint, GLenum, GLenum, GLint);
extern void ( *_ptrc_glTextureParameterivEXT)(GLuint, GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glTextureRenderbufferEXT)(GLuint, GLenum, GLuint);
extern void ( *_ptrc_glTextureStorage1DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei);
extern void ( *_ptrc_glTextureStorage2DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glTextureStorage2DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureStorage3DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
extern void ( *_ptrc_glTextureStorage3DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern GLboolean ( *_ptrc_glUnmapNamedBufferEXT)(GLuint);
extern void ( *_ptrc_glVertexArrayBindVertexBufferEXT)(GLuint, GLuint, GLuint, GLintptr, GLsizei);
extern void ( *_ptrc_glVertexArrayColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayEdgeFlagOffsetEXT)(GLuint, GLuint, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayFogCoordOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayIndexOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayMultiTexCoordOffsetEXT)(GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayNormalOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArraySecondaryColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayTexCoordOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayVertexAttribBindingEXT)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexArrayVertexAttribFormatEXT)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexArrayVertexAttribIFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint);
extern void ( *_ptrc_glVertexArrayVertexAttribIOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayVertexAttribLFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint);
extern void ( *_ptrc_glVertexArrayVertexAttribLOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayVertexAttribOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr);
extern void ( *_ptrc_glVertexArrayVertexBindingDivisorEXT)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexArrayVertexOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
extern void ( *_ptrc_glColorMaskIndexedEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
extern void ( *_ptrc_glDisableIndexedEXT)(GLenum, GLuint);
extern void ( *_ptrc_glEnableIndexedEXT)(GLenum, GLuint);
extern void ( *_ptrc_glGetBooleanIndexedvEXT)(GLenum, GLuint, GLboolean *);
extern void ( *_ptrc_glGetIntegerIndexedvEXT)(GLenum, GLuint, GLint *);
extern GLboolean ( *_ptrc_glIsEnabledIndexedEXT)(GLenum, GLuint);
extern void ( *_ptrc_glDrawArraysInstancedEXT)(GLenum, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glDrawElementsInstancedEXT)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
extern void ( *_ptrc_glDrawRangeElementsEXT)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
extern void ( *_ptrc_glFogCoordPointerEXT)(GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glFogCoorddEXT)(GLdouble);
extern void ( *_ptrc_glFogCoorddvEXT)(const GLdouble *);
extern void ( *_ptrc_glFogCoordfEXT)(GLfloat);
extern void ( *_ptrc_glFogCoordfvEXT)(const GLfloat *);
extern void ( *_ptrc_glBlitFramebufferEXT)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
extern void ( *_ptrc_glRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glBindFramebufferEXT)(GLenum, GLuint);
extern void ( *_ptrc_glBindRenderbufferEXT)(GLenum, GLuint);
extern GLenum ( *_ptrc_glCheckFramebufferStatusEXT)(GLenum);
extern void ( *_ptrc_glDeleteFramebuffersEXT)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDeleteRenderbuffersEXT)(GLsizei, const GLuint *);
extern void ( *_ptrc_glFramebufferRenderbufferEXT)(GLenum, GLenum, GLenum, GLuint);
extern void ( *_ptrc_glFramebufferTexture1DEXT)(GLenum, GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glFramebufferTexture2DEXT)(GLenum, GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glFramebufferTexture3DEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glGenFramebuffersEXT)(GLsizei, GLuint *);
extern void ( *_ptrc_glGenRenderbuffersEXT)(GLsizei, GLuint *);
extern void ( *_ptrc_glGenerateMipmapEXT)(GLenum);
extern void ( *_ptrc_glGetFramebufferAttachmentParameterivEXT)(GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetRenderbufferParameterivEXT)(GLenum, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsFramebufferEXT)(GLuint);
extern GLboolean ( *_ptrc_glIsRenderbufferEXT)(GLuint);
extern void ( *_ptrc_glRenderbufferStorageEXT)(GLenum, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glProgramParameteriEXT)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glProgramEnvParameters4fvEXT)(GLenum, GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramLocalParameters4fvEXT)(GLenum, GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glBindFragDataLocationEXT)(GLuint, GLuint, const GLchar *);
extern GLint ( *_ptrc_glGetFragDataLocationEXT)(GLuint, const GLchar *);
extern void ( *_ptrc_glGetUniformuivEXT)(GLuint, GLint, GLuint *);
extern void ( *_ptrc_glUniform1uiEXT)(GLint, GLuint);
extern void ( *_ptrc_glUniform1uivEXT)(GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glUniform2uiEXT)(GLint, GLuint, GLuint);
extern void ( *_ptrc_glUniform2uivEXT)(GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glUniform3uiEXT)(GLint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glUniform3uivEXT)(GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glUniform4uiEXT)(GLint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glUniform4uivEXT)(GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glGetHistogramEXT)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetHistogramParameterfvEXT)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetHistogramParameterivEXT)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetMinmaxEXT)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetMinmaxParameterfvEXT)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetMinmaxParameterivEXT)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glHistogramEXT)(GLenum, GLsizei, GLenum, GLboolean);
extern void ( *_ptrc_glMinmaxEXT)(GLenum, GLenum, GLboolean);
extern void ( *_ptrc_glResetHistogramEXT)(GLenum);
extern void ( *_ptrc_glResetMinmaxEXT)(GLenum);
extern void ( *_ptrc_glIndexFuncEXT)(GLenum, GLclampf);
extern void ( *_ptrc_glIndexMaterialEXT)(GLenum, GLenum);
extern void ( *_ptrc_glApplyTextureEXT)(GLenum);
extern void ( *_ptrc_glTextureLightEXT)(GLenum);
extern void ( *_ptrc_glTextureMaterialEXT)(GLenum, GLenum);
extern void ( *_ptrc_glMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei);
extern void ( *_ptrc_glMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei);
extern void ( *_ptrc_glSampleMaskEXT)(GLclampf, GLboolean);
extern void ( *_ptrc_glSamplePatternEXT)(GLenum);
# 8898 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glColorTableEXT)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glGetColorTableEXT)(GLenum, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetColorTableParameterfvEXT)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetColorTableParameterivEXT)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetPixelTransformParameterfvEXT)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetPixelTransformParameterivEXT)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glPixelTransformParameterfEXT)(GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glPixelTransformParameterfvEXT)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glPixelTransformParameteriEXT)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glPixelTransformParameterivEXT)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glPointParameterfEXT)(GLenum, GLfloat);
extern void ( *_ptrc_glPointParameterfvEXT)(GLenum, const GLfloat *);
extern void ( *_ptrc_glPolygonOffsetEXT)(GLfloat, GLfloat);
extern void ( *_ptrc_glProvokingVertexEXT)(GLenum);
extern void ( *_ptrc_glSecondaryColor3bEXT)(GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glSecondaryColor3bvEXT)(const GLbyte *);
extern void ( *_ptrc_glSecondaryColor3dEXT)(GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glSecondaryColor3dvEXT)(const GLdouble *);
extern void ( *_ptrc_glSecondaryColor3fEXT)(GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glSecondaryColor3fvEXT)(const GLfloat *);
extern void ( *_ptrc_glSecondaryColor3iEXT)(GLint, GLint, GLint);
extern void ( *_ptrc_glSecondaryColor3ivEXT)(const GLint *);
extern void ( *_ptrc_glSecondaryColor3sEXT)(GLshort, GLshort, GLshort);
extern void ( *_ptrc_glSecondaryColor3svEXT)(const GLshort *);
extern void ( *_ptrc_glSecondaryColor3ubEXT)(GLubyte, GLubyte, GLubyte);
extern void ( *_ptrc_glSecondaryColor3ubvEXT)(const GLubyte *);
extern void ( *_ptrc_glSecondaryColor3uiEXT)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glSecondaryColor3uivEXT)(const GLuint *);
extern void ( *_ptrc_glSecondaryColor3usEXT)(GLushort, GLushort, GLushort);
extern void ( *_ptrc_glSecondaryColor3usvEXT)(const GLushort *);
extern void ( *_ptrc_glSecondaryColorPointerEXT)(GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glActiveProgramEXT)(GLuint);
extern GLuint ( *_ptrc_glCreateShaderProgramEXT)(GLenum, const GLchar *);
extern void ( *_ptrc_glUseShaderProgramEXT)(GLenum, GLuint);
extern void ( *_ptrc_glBindImageTextureEXT)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLint);
extern void ( *_ptrc_glMemoryBarrierEXT)(GLbitfield);
extern void ( *_ptrc_glStencilClearTagEXT)(GLsizei, GLuint);
extern void ( *_ptrc_glActiveStencilFaceEXT)(GLenum);
extern void ( *_ptrc_glTexSubImage1DEXT)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexSubImage2DEXT)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexImage3DEXT)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexSubImage3DEXT)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexBufferEXT)(GLenum, GLenum, GLuint);
# 9053 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glClearColorIiEXT)(GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glClearColorIuiEXT)(GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glGetTexParameterIivEXT)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *);
extern void ( *_ptrc_glTexParameterIivEXT)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glTexParameterIuivEXT)(GLenum, GLenum, const GLuint *);
extern GLboolean ( *_ptrc_glAreTexturesResidentEXT)(GLsizei, const GLuint *, GLboolean *);
extern void ( *_ptrc_glBindTextureEXT)(GLenum, GLuint);
extern void ( *_ptrc_glDeleteTexturesEXT)(GLsizei, const GLuint *);
extern void ( *_ptrc_glGenTexturesEXT)(GLsizei, GLuint *);
extern GLboolean ( *_ptrc_glIsTextureEXT)(GLuint);
extern void ( *_ptrc_glPrioritizeTexturesEXT)(GLsizei, const GLuint *, const GLclampf *);
extern void ( *_ptrc_glTextureNormalEXT)(GLenum);
# 9098 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *);
extern void ( *_ptrc_glGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *);
extern void ( *_ptrc_glBeginTransformFeedbackEXT)(GLenum);
extern void ( *_ptrc_glBindBufferBaseEXT)(GLenum, GLuint, GLuint);
extern void ( *_ptrc_glBindBufferOffsetEXT)(GLenum, GLuint, GLuint, GLintptr);
extern void ( *_ptrc_glBindBufferRangeEXT)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glEndTransformFeedbackEXT)(void);
extern void ( *_ptrc_glGetTransformFeedbackVaryingEXT)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
extern void ( *_ptrc_glTransformFeedbackVaryingsEXT)(GLuint, GLsizei, const GLchar *const*, GLenum);
extern void ( *_ptrc_glArrayElementEXT)(GLint);
extern void ( *_ptrc_glColorPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
extern void ( *_ptrc_glDrawArraysEXT)(GLenum, GLint, GLsizei);
extern void ( *_ptrc_glEdgeFlagPointerEXT)(GLsizei, GLsizei, const GLboolean *);
extern void ( *_ptrc_glGetPointervEXT)(GLenum, GLvoid **);
extern void ( *_ptrc_glIndexPointerEXT)(GLenum, GLsizei, GLsizei, const GLvoid *);
extern void ( *_ptrc_glNormalPointerEXT)(GLenum, GLsizei, GLsizei, const GLvoid *);
extern void ( *_ptrc_glTexCoordPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
extern void ( *_ptrc_glVertexPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
extern void ( *_ptrc_glGetVertexAttribLdvEXT)(GLuint, GLenum, GLdouble *);
extern void ( *_ptrc_glVertexAttribL1dEXT)(GLuint, GLdouble);
extern void ( *_ptrc_glVertexAttribL1dvEXT)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL2dEXT)(GLuint, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL2dvEXT)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL3dEXT)(GLuint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL3dvEXT)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL4dEXT)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL4dvEXT)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribLPointerEXT)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glBeginVertexShaderEXT)(void);
extern GLuint ( *_ptrc_glBindLightParameterEXT)(GLenum, GLenum);
extern GLuint ( *_ptrc_glBindMaterialParameterEXT)(GLenum, GLenum);
extern GLuint ( *_ptrc_glBindParameterEXT)(GLenum);
extern GLuint ( *_ptrc_glBindTexGenParameterEXT)(GLenum, GLenum, GLenum);
extern GLuint ( *_ptrc_glBindTextureUnitParameterEXT)(GLenum, GLenum);
extern void ( *_ptrc_glBindVertexShaderEXT)(GLuint);
extern void ( *_ptrc_glDeleteVertexShaderEXT)(GLuint);
extern void ( *_ptrc_glDisableVariantClientStateEXT)(GLuint);
extern void ( *_ptrc_glEnableVariantClientStateEXT)(GLuint);
extern void ( *_ptrc_glEndVertexShaderEXT)(void);
extern void ( *_ptrc_glExtractComponentEXT)(GLuint, GLuint, GLuint);
extern GLuint ( *_ptrc_glGenSymbolsEXT)(GLenum, GLenum, GLenum, GLuint);
extern GLuint ( *_ptrc_glGenVertexShadersEXT)(GLuint);
extern void ( *_ptrc_glGetInvariantBooleanvEXT)(GLuint, GLenum, GLboolean *);
extern void ( *_ptrc_glGetInvariantFloatvEXT)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetInvariantIntegervEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetLocalConstantBooleanvEXT)(GLuint, GLenum, GLboolean *);
extern void ( *_ptrc_glGetLocalConstantFloatvEXT)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetLocalConstantIntegervEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVariantBooleanvEXT)(GLuint, GLenum, GLboolean *);
extern void ( *_ptrc_glGetVariantFloatvEXT)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetVariantIntegervEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVariantPointervEXT)(GLuint, GLenum, GLvoid **);
extern void ( *_ptrc_glInsertComponentEXT)(GLuint, GLuint, GLuint);
extern GLboolean ( *_ptrc_glIsVariantEnabledEXT)(GLuint, GLenum);
extern void ( *_ptrc_glSetInvariantEXT)(GLuint, GLenum, const GLvoid *);
extern void ( *_ptrc_glSetLocalConstantEXT)(GLuint, GLenum, const GLvoid *);
extern void ( *_ptrc_glShaderOp1EXT)(GLenum, GLuint, GLuint);
extern void ( *_ptrc_glShaderOp2EXT)(GLenum, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glShaderOp3EXT)(GLenum, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glSwizzleEXT)(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glVariantPointerEXT)(GLuint, GLenum, GLuint, const GLvoid *);
extern void ( *_ptrc_glVariantbvEXT)(GLuint, const GLbyte *);
extern void ( *_ptrc_glVariantdvEXT)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVariantfvEXT)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVariantivEXT)(GLuint, const GLint *);
extern void ( *_ptrc_glVariantsvEXT)(GLuint, const GLshort *);
extern void ( *_ptrc_glVariantubvEXT)(GLuint, const GLubyte *);
extern void ( *_ptrc_glVariantuivEXT)(GLuint, const GLuint *);
extern void ( *_ptrc_glVariantusvEXT)(GLuint, const GLushort *);
extern void ( *_ptrc_glWriteMaskEXT)(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glVertexWeightPointerEXT)(GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glVertexWeightfEXT)(GLfloat);
extern void ( *_ptrc_glVertexWeightfvEXT)(const GLfloat *);
extern GLsync ( *_ptrc_glImportSyncEXT)(GLenum, GLintptr, GLbitfield);
extern void ( *_ptrc_glFrameTerminatorGREMEDY)(void);
extern void ( *_ptrc_glStringMarkerGREMEDY)(GLsizei, const GLvoid *);
extern void ( *_ptrc_glGetImageTransformParameterfvHP)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetImageTransformParameterivHP)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glImageTransformParameterfHP)(GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glImageTransformParameterfvHP)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glImageTransformParameteriHP)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glImageTransformParameterivHP)(GLenum, GLenum, const GLint *);
# 9307 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glMultiModeDrawArraysIBM)(const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint);
extern void ( *_ptrc_glMultiModeDrawElementsIBM)(const GLenum *, const GLsizei *, GLenum, const GLvoid *const*, GLsizei, GLint);
extern void ( *_ptrc_glFlushStaticDataIBM)(GLenum);
extern void ( *_ptrc_glColorPointerListIBM)(GLint, GLenum, GLint, const GLvoid **, GLint);
extern void ( *_ptrc_glEdgeFlagPointerListIBM)(GLint, const GLboolean **, GLint);
extern void ( *_ptrc_glFogCoordPointerListIBM)(GLenum, GLint, const GLvoid **, GLint);
extern void ( *_ptrc_glIndexPointerListIBM)(GLenum, GLint, const GLvoid **, GLint);
extern void ( *_ptrc_glNormalPointerListIBM)(GLenum, GLint, const GLvoid **, GLint);
extern void ( *_ptrc_glSecondaryColorPointerListIBM)(GLint, GLenum, GLint, const GLvoid **, GLint);
extern void ( *_ptrc_glTexCoordPointerListIBM)(GLint, GLenum, GLint, const GLvoid **, GLint);
extern void ( *_ptrc_glVertexPointerListIBM)(GLint, GLenum, GLint, const GLvoid **, GLint);
extern void ( *_ptrc_glBlendFuncSeparateINGR)(GLenum, GLenum, GLenum, GLenum);
extern void * ( *_ptrc_glMapTexture2DINTEL)(GLuint, GLint, GLbitfield, const GLint *, const GLenum *);
extern void ( *_ptrc_glSyncTextureINTEL)(GLuint);
extern void ( *_ptrc_glUnmapTexture2DINTEL)(GLuint, GLint);
extern void ( *_ptrc_glColorPointervINTEL)(GLint, GLenum, const GLvoid **);
extern void ( *_ptrc_glNormalPointervINTEL)(GLenum, const GLvoid **);
extern void ( *_ptrc_glTexCoordPointervINTEL)(GLint, GLenum, const GLvoid **);
extern void ( *_ptrc_glVertexPointervINTEL)(GLint, GLenum, const GLvoid **);
# 9376 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glResizeBuffersMESA)(void);
extern void ( *_ptrc_glWindowPos2dMESA)(GLdouble, GLdouble);
extern void ( *_ptrc_glWindowPos2dvMESA)(const GLdouble *);
extern void ( *_ptrc_glWindowPos2fMESA)(GLfloat, GLfloat);
extern void ( *_ptrc_glWindowPos2fvMESA)(const GLfloat *);
extern void ( *_ptrc_glWindowPos2iMESA)(GLint, GLint);
extern void ( *_ptrc_glWindowPos2ivMESA)(const GLint *);
extern void ( *_ptrc_glWindowPos2sMESA)(GLshort, GLshort);
extern void ( *_ptrc_glWindowPos2svMESA)(const GLshort *);
extern void ( *_ptrc_glWindowPos3dMESA)(GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glWindowPos3dvMESA)(const GLdouble *);
extern void ( *_ptrc_glWindowPos3fMESA)(GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glWindowPos3fvMESA)(const GLfloat *);
extern void ( *_ptrc_glWindowPos3iMESA)(GLint, GLint, GLint);
extern void ( *_ptrc_glWindowPos3ivMESA)(const GLint *);
extern void ( *_ptrc_glWindowPos3sMESA)(GLshort, GLshort, GLshort);
extern void ( *_ptrc_glWindowPos3svMESA)(const GLshort *);
extern void ( *_ptrc_glWindowPos4dMESA)(GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glWindowPos4dvMESA)(const GLdouble *);
extern void ( *_ptrc_glWindowPos4fMESA)(GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glWindowPos4fvMESA)(const GLfloat *);
extern void ( *_ptrc_glWindowPos4iMESA)(GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glWindowPos4ivMESA)(const GLint *);
extern void ( *_ptrc_glWindowPos4sMESA)(GLshort, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glWindowPos4svMESA)(const GLshort *);
extern void ( *_ptrc_glBeginConditionalRenderNVX)(GLuint);
extern void ( *_ptrc_glEndConditionalRenderNVX)(void);
extern void ( *_ptrc_glMultiDrawArraysIndirectBindlessNV)(GLenum, const GLvoid *, GLsizei, GLsizei, GLint);
extern void ( *_ptrc_glMultiDrawElementsIndirectBindlessNV)(GLenum, GLenum, const GLvoid *, GLsizei, GLsizei, GLint);
extern GLuint64 ( *_ptrc_glGetImageHandleNV)(GLuint, GLint, GLboolean, GLint, GLenum);
extern GLuint64 ( *_ptrc_glGetTextureHandleNV)(GLuint);
extern GLuint64 ( *_ptrc_glGetTextureSamplerHandleNV)(GLuint, GLuint);
extern GLboolean ( *_ptrc_glIsImageHandleResidentNV)(GLuint64);
extern GLboolean ( *_ptrc_glIsTextureHandleResidentNV)(GLuint64);
extern void ( *_ptrc_glMakeImageHandleNonResidentNV)(GLuint64);
extern void ( *_ptrc_glMakeImageHandleResidentNV)(GLuint64, GLenum);
extern void ( *_ptrc_glMakeTextureHandleNonResidentNV)(GLuint64);
extern void ( *_ptrc_glMakeTextureHandleResidentNV)(GLuint64);
extern void ( *_ptrc_glProgramUniformHandleui64NV)(GLuint, GLint, GLuint64);
extern void ( *_ptrc_glProgramUniformHandleui64vNV)(GLuint, GLint, GLsizei, const GLuint64 *);
extern void ( *_ptrc_glUniformHandleui64NV)(GLint, GLuint64);
extern void ( *_ptrc_glUniformHandleui64vNV)(GLint, GLsizei, const GLuint64 *);
extern void ( *_ptrc_glBlendBarrierNV)(void);
extern void ( *_ptrc_glBlendParameteriNV)(GLenum, GLint);
# 9492 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glBeginConditionalRenderNV)(GLuint, GLenum);
extern void ( *_ptrc_glEndConditionalRenderNV)(void);
extern void ( *_ptrc_glCopyImageSubDataNV)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
extern void ( *_ptrc_glClearDepthdNV)(GLdouble);
extern void ( *_ptrc_glDepthBoundsdNV)(GLdouble, GLdouble);
extern void ( *_ptrc_glDepthRangedNV)(GLdouble, GLdouble);
extern void ( *_ptrc_glDrawTextureNV)(GLuint, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glEvalMapsNV)(GLenum, GLenum);
extern void ( *_ptrc_glGetMapAttribParameterfvNV)(GLenum, GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetMapAttribParameterivNV)(GLenum, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetMapControlPointsNV)(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid *);
extern void ( *_ptrc_glGetMapParameterfvNV)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetMapParameterivNV)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glMapControlPointsNV)(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const GLvoid *);
extern void ( *_ptrc_glMapParameterfvNV)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glMapParameterivNV)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glGetMultisamplefvNV)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glSampleMaskIndexedNV)(GLuint, GLbitfield);
extern void ( *_ptrc_glTexRenderbufferNV)(GLenum, GLuint);
extern void ( *_ptrc_glDeleteFencesNV)(GLsizei, const GLuint *);
extern void ( *_ptrc_glFinishFenceNV)(GLuint);
extern void ( *_ptrc_glGenFencesNV)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetFenceivNV)(GLuint, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsFenceNV)(GLuint);
extern void ( *_ptrc_glSetFenceNV)(GLuint, GLenum);
extern GLboolean ( *_ptrc_glTestFenceNV)(GLuint);
extern void ( *_ptrc_glGetProgramNamedParameterdvNV)(GLuint, GLsizei, const GLubyte *, GLdouble *);
extern void ( *_ptrc_glGetProgramNamedParameterfvNV)(GLuint, GLsizei, const GLubyte *, GLfloat *);
extern void ( *_ptrc_glProgramNamedParameter4dNV)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramNamedParameter4dvNV)(GLuint, GLsizei, const GLubyte *, const GLdouble *);
extern void ( *_ptrc_glProgramNamedParameter4fNV)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramNamedParameter4fvNV)(GLuint, GLsizei, const GLubyte *, const GLfloat *);
# 9596 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glRenderbufferStorageMultisampleCoverageNV)(GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glFramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glFramebufferTextureFaceEXT)(GLenum, GLenum, GLuint, GLint, GLenum);
extern void ( *_ptrc_glFramebufferTextureLayerEXT)(GLenum, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glProgramVertexLimitNV)(GLenum, GLint);
extern void ( *_ptrc_glGetProgramEnvParameterIivNV)(GLenum, GLuint, GLint *);
extern void ( *_ptrc_glGetProgramEnvParameterIuivNV)(GLenum, GLuint, GLuint *);
extern void ( *_ptrc_glGetProgramLocalParameterIivNV)(GLenum, GLuint, GLint *);
extern void ( *_ptrc_glGetProgramLocalParameterIuivNV)(GLenum, GLuint, GLuint *);
extern void ( *_ptrc_glProgramEnvParameterI4iNV)(GLenum, GLuint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramEnvParameterI4ivNV)(GLenum, GLuint, const GLint *);
extern void ( *_ptrc_glProgramEnvParameterI4uiNV)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glProgramEnvParameterI4uivNV)(GLenum, GLuint, const GLuint *);
extern void ( *_ptrc_glProgramEnvParametersI4ivNV)(GLenum, GLuint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramEnvParametersI4uivNV)(GLenum, GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramLocalParameterI4iNV)(GLenum, GLuint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramLocalParameterI4ivNV)(GLenum, GLuint, const GLint *);
extern void ( *_ptrc_glProgramLocalParameterI4uiNV)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glProgramLocalParameterI4uivNV)(GLenum, GLuint, const GLuint *);
extern void ( *_ptrc_glProgramLocalParametersI4ivNV)(GLenum, GLuint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramLocalParametersI4uivNV)(GLenum, GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glGetProgramSubroutineParameteruivNV)(GLenum, GLuint, GLuint *);
extern void ( *_ptrc_glProgramSubroutineParametersuivNV)(GLenum, GLsizei, const GLuint *);
extern void ( *_ptrc_glGetUniformi64vNV)(GLuint, GLint, GLint64EXT *);
extern void ( *_ptrc_glProgramUniform1i64NV)(GLuint, GLint, GLint64EXT);
extern void ( *_ptrc_glProgramUniform1i64vNV)(GLuint, GLint, GLsizei, const GLint64EXT *);
extern void ( *_ptrc_glProgramUniform1ui64NV)(GLuint, GLint, GLuint64EXT);
extern void ( *_ptrc_glProgramUniform1ui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glProgramUniform2i64NV)(GLuint, GLint, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glProgramUniform2i64vNV)(GLuint, GLint, GLsizei, const GLint64EXT *);
extern void ( *_ptrc_glProgramUniform2ui64NV)(GLuint, GLint, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glProgramUniform2ui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glProgramUniform3i64NV)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glProgramUniform3i64vNV)(GLuint, GLint, GLsizei, const GLint64EXT *);
extern void ( *_ptrc_glProgramUniform3ui64NV)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glProgramUniform3ui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glProgramUniform4i64NV)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glProgramUniform4i64vNV)(GLuint, GLint, GLsizei, const GLint64EXT *);
extern void ( *_ptrc_glProgramUniform4ui64NV)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glProgramUniform4ui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glUniform1i64NV)(GLint, GLint64EXT);
extern void ( *_ptrc_glUniform1i64vNV)(GLint, GLsizei, const GLint64EXT *);
extern void ( *_ptrc_glUniform1ui64NV)(GLint, GLuint64EXT);
extern void ( *_ptrc_glUniform1ui64vNV)(GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glUniform2i64NV)(GLint, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glUniform2i64vNV)(GLint, GLsizei, const GLint64EXT *);
extern void ( *_ptrc_glUniform2ui64NV)(GLint, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glUniform2ui64vNV)(GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glUniform3i64NV)(GLint, GLint64EXT, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glUniform3i64vNV)(GLint, GLsizei, const GLint64EXT *);
extern void ( *_ptrc_glUniform3ui64NV)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glUniform3ui64vNV)(GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glUniform4i64NV)(GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glUniform4i64vNV)(GLint, GLsizei, const GLint64EXT *);
extern void ( *_ptrc_glUniform4ui64NV)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glUniform4ui64vNV)(GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glColor3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glColor3hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glColor4hNV)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glColor4hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glFogCoordhNV)(GLhalfNV);
extern void ( *_ptrc_glFogCoordhvNV)(const GLhalfNV *);
extern void ( *_ptrc_glMultiTexCoord1hNV)(GLenum, GLhalfNV);
extern void ( *_ptrc_glMultiTexCoord1hvNV)(GLenum, const GLhalfNV *);
extern void ( *_ptrc_glMultiTexCoord2hNV)(GLenum, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glMultiTexCoord2hvNV)(GLenum, const GLhalfNV *);
extern void ( *_ptrc_glMultiTexCoord3hNV)(GLenum, GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glMultiTexCoord3hvNV)(GLenum, const GLhalfNV *);
extern void ( *_ptrc_glMultiTexCoord4hNV)(GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glMultiTexCoord4hvNV)(GLenum, const GLhalfNV *);
extern void ( *_ptrc_glNormal3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glNormal3hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glSecondaryColor3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glSecondaryColor3hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glTexCoord1hNV)(GLhalfNV);
extern void ( *_ptrc_glTexCoord1hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glTexCoord2hNV)(GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glTexCoord2hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glTexCoord3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glTexCoord3hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glTexCoord4hNV)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glTexCoord4hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glVertex2hNV)(GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glVertex2hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glVertex3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glVertex3hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glVertex4hNV)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glVertex4hvNV)(const GLhalfNV *);
extern void ( *_ptrc_glVertexAttrib1hNV)(GLuint, GLhalfNV);
extern void ( *_ptrc_glVertexAttrib1hvNV)(GLuint, const GLhalfNV *);
extern void ( *_ptrc_glVertexAttrib2hNV)(GLuint, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glVertexAttrib2hvNV)(GLuint, const GLhalfNV *);
extern void ( *_ptrc_glVertexAttrib3hNV)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glVertexAttrib3hvNV)(GLuint, const GLhalfNV *);
extern void ( *_ptrc_glVertexAttrib4hNV)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
extern void ( *_ptrc_glVertexAttrib4hvNV)(GLuint, const GLhalfNV *);
extern void ( *_ptrc_glVertexAttribs1hvNV)(GLuint, GLsizei, const GLhalfNV *);
extern void ( *_ptrc_glVertexAttribs2hvNV)(GLuint, GLsizei, const GLhalfNV *);
extern void ( *_ptrc_glVertexAttribs3hvNV)(GLuint, GLsizei, const GLhalfNV *);
extern void ( *_ptrc_glVertexAttribs4hvNV)(GLuint, GLsizei, const GLhalfNV *);
extern void ( *_ptrc_glVertexWeighthNV)(GLhalfNV);
extern void ( *_ptrc_glVertexWeighthvNV)(const GLhalfNV *);
# 9829 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glBeginOcclusionQueryNV)(GLuint);
extern void ( *_ptrc_glDeleteOcclusionQueriesNV)(GLsizei, const GLuint *);
extern void ( *_ptrc_glEndOcclusionQueryNV)(void);
extern void ( *_ptrc_glGenOcclusionQueriesNV)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetOcclusionQueryivNV)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetOcclusionQueryuivNV)(GLuint, GLenum, GLuint *);
extern GLboolean ( *_ptrc_glIsOcclusionQueryNV)(GLuint);
extern void ( *_ptrc_glProgramBufferParametersIivNV)(GLenum, GLuint, GLuint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramBufferParametersIuivNV)(GLenum, GLuint, GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramBufferParametersfvNV)(GLenum, GLuint, GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glCopyPathNV)(GLuint, GLuint);
extern void ( *_ptrc_glCoverFillPathInstancedNV)(GLsizei, GLenum, const GLvoid *, GLuint, GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glCoverFillPathNV)(GLuint, GLenum);
extern void ( *_ptrc_glCoverStrokePathInstancedNV)(GLsizei, GLenum, const GLvoid *, GLuint, GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glCoverStrokePathNV)(GLuint, GLenum);
extern void ( *_ptrc_glDeletePathsNV)(GLuint, GLsizei);
extern GLuint ( *_ptrc_glGenPathsNV)(GLsizei);
extern void ( *_ptrc_glGetPathColorGenfvNV)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetPathColorGenivNV)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetPathCommandsNV)(GLuint, GLubyte *);
extern void ( *_ptrc_glGetPathCoordsNV)(GLuint, GLfloat *);
extern void ( *_ptrc_glGetPathDashArrayNV)(GLuint, GLfloat *);
extern GLfloat ( *_ptrc_glGetPathLengthNV)(GLuint, GLsizei, GLsizei);
extern void ( *_ptrc_glGetPathMetricRangeNV)(GLbitfield, GLuint, GLsizei, GLsizei, GLfloat *);
extern void ( *_ptrc_glGetPathMetricsNV)(GLbitfield, GLsizei, GLenum, const GLvoid *, GLuint, GLsizei, GLfloat *);
extern void ( *_ptrc_glGetPathParameterfvNV)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetPathParameterivNV)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetPathSpacingNV)(GLenum, GLsizei, GLenum, const GLvoid *, GLuint, GLfloat, GLfloat, GLenum, GLfloat *);
extern void ( *_ptrc_glGetPathTexGenfvNV)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetPathTexGenivNV)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glInterpolatePathsNV)(GLuint, GLuint, GLuint, GLfloat);
extern GLboolean ( *_ptrc_glIsPathNV)(GLuint);
extern GLboolean ( *_ptrc_glIsPointInFillPathNV)(GLuint, GLuint, GLfloat, GLfloat);
extern GLboolean ( *_ptrc_glIsPointInStrokePathNV)(GLuint, GLfloat, GLfloat);
extern void ( *_ptrc_glPathColorGenNV)(GLenum, GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glPathCommandsNV)(GLuint, GLsizei, const GLubyte *, GLsizei, GLenum, const GLvoid *);
extern void ( *_ptrc_glPathCoordsNV)(GLuint, GLsizei, GLenum, const GLvoid *);
extern void ( *_ptrc_glPathCoverDepthFuncNV)(GLenum);
extern void ( *_ptrc_glPathDashArrayNV)(GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glPathFogGenNV)(GLenum);
extern void ( *_ptrc_glPathGlyphRangeNV)(GLuint, GLenum, const GLvoid *, GLbitfield, GLuint, GLsizei, GLenum, GLuint, GLfloat);
extern void ( *_ptrc_glPathGlyphsNV)(GLuint, GLenum, const GLvoid *, GLbitfield, GLsizei, GLenum, const GLvoid *, GLenum, GLuint, GLfloat);
extern void ( *_ptrc_glPathParameterfNV)(GLuint, GLenum, GLfloat);
extern void ( *_ptrc_glPathParameterfvNV)(GLuint, GLenum, const GLfloat *);
extern void ( *_ptrc_glPathParameteriNV)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glPathParameterivNV)(GLuint, GLenum, const GLint *);
extern void ( *_ptrc_glPathStencilDepthOffsetNV)(GLfloat, GLfloat);
extern void ( *_ptrc_glPathStencilFuncNV)(GLenum, GLint, GLuint);
extern void ( *_ptrc_glPathStringNV)(GLuint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glPathSubCommandsNV)(GLuint, GLsizei, GLsizei, GLsizei, const GLubyte *, GLsizei, GLenum, const GLvoid *);
extern void ( *_ptrc_glPathSubCoordsNV)(GLuint, GLsizei, GLsizei, GLenum, const GLvoid *);
extern void ( *_ptrc_glPathTexGenNV)(GLenum, GLenum, GLint, const GLfloat *);
extern GLboolean ( *_ptrc_glPointAlongPathNV)(GLuint, GLsizei, GLsizei, GLfloat, GLfloat *, GLfloat *, GLfloat *, GLfloat *);
extern void ( *_ptrc_glStencilFillPathInstancedNV)(GLsizei, GLenum, const GLvoid *, GLuint, GLenum, GLuint, GLenum, const GLfloat *);
extern void ( *_ptrc_glStencilFillPathNV)(GLuint, GLenum, GLuint);
extern void ( *_ptrc_glStencilStrokePathInstancedNV)(GLsizei, GLenum, const GLvoid *, GLuint, GLint, GLuint, GLenum, const GLfloat *);
extern void ( *_ptrc_glStencilStrokePathNV)(GLuint, GLint, GLuint);
extern void ( *_ptrc_glTransformPathNV)(GLuint, GLuint, GLenum, const GLfloat *);
extern void ( *_ptrc_glWeightPathsNV)(GLuint, GLsizei, const GLuint *, const GLfloat *);
extern void ( *_ptrc_glFlushPixelDataRangeNV)(GLenum);
extern void ( *_ptrc_glPixelDataRangeNV)(GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glPointParameteriNV)(GLenum, GLint);
extern void ( *_ptrc_glPointParameterivNV)(GLenum, const GLint *);
extern void ( *_ptrc_glGetVideoi64vNV)(GLuint, GLenum, GLint64EXT *);
extern void ( *_ptrc_glGetVideoivNV)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVideoui64vNV)(GLuint, GLenum, GLuint64EXT *);
extern void ( *_ptrc_glGetVideouivNV)(GLuint, GLenum, GLuint *);
extern void ( *_ptrc_glPresentFrameDualFillNV)(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint);
extern void ( *_ptrc_glPresentFrameKeyedNV)(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLuint, GLenum, GLuint, GLuint);
extern void ( *_ptrc_glPrimitiveRestartIndexNV)(GLuint);
extern void ( *_ptrc_glPrimitiveRestartNV)(void);
extern void ( *_ptrc_glCombinerInputNV)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glCombinerOutputNV)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
extern void ( *_ptrc_glCombinerParameterfNV)(GLenum, GLfloat);
extern void ( *_ptrc_glCombinerParameterfvNV)(GLenum, const GLfloat *);
extern void ( *_ptrc_glCombinerParameteriNV)(GLenum, GLint);
extern void ( *_ptrc_glCombinerParameterivNV)(GLenum, const GLint *);
extern void ( *_ptrc_glFinalCombinerInputNV)(GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glGetCombinerInputParameterfvNV)(GLenum, GLenum, GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetCombinerInputParameterivNV)(GLenum, GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetCombinerOutputParameterfvNV)(GLenum, GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetCombinerOutputParameterivNV)(GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetFinalCombinerInputParameterfvNV)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetFinalCombinerInputParameterivNV)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glCombinerStageParameterfvNV)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glGetCombinerStageParameterfvNV)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetBufferParameterui64vNV)(GLenum, GLenum, GLuint64EXT *);
extern void ( *_ptrc_glGetIntegerui64vNV)(GLenum, GLuint64EXT *);
extern void ( *_ptrc_glGetNamedBufferParameterui64vNV)(GLuint, GLenum, GLuint64EXT *);
extern void ( *_ptrc_glGetUniformui64vNV)(GLuint, GLint, GLuint64EXT *);
extern GLboolean ( *_ptrc_glIsBufferResidentNV)(GLenum);
extern GLboolean ( *_ptrc_glIsNamedBufferResidentNV)(GLuint);
extern void ( *_ptrc_glMakeBufferNonResidentNV)(GLenum);
extern void ( *_ptrc_glMakeBufferResidentNV)(GLenum, GLenum);
extern void ( *_ptrc_glMakeNamedBufferNonResidentNV)(GLuint);
extern void ( *_ptrc_glMakeNamedBufferResidentNV)(GLuint, GLenum);
extern void ( *_ptrc_glProgramUniformui64NV)(GLuint, GLint, GLuint64EXT);
extern void ( *_ptrc_glProgramUniformui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
extern void ( *_ptrc_glUniformui64NV)(GLint, GLuint64EXT);
extern void ( *_ptrc_glUniformui64vNV)(GLint, GLsizei, const GLuint64EXT *);
# 10078 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glTextureBarrierNV)(void);
# 10087 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glTexImage2DMultisampleCoverageNV)(GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTexImage3DMultisampleCoverageNV)(GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureImage2DMultisampleCoverageNV)(GLuint, GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureImage2DMultisampleNV)(GLuint, GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureImage3DMultisampleCoverageNV)(GLuint, GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureImage3DMultisampleNV)(GLuint, GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
# 10107 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glActiveVaryingNV)(GLuint, const GLchar *);
extern void ( *_ptrc_glBeginTransformFeedbackNV)(GLenum);
extern void ( *_ptrc_glBindBufferBaseNV)(GLenum, GLuint, GLuint);
extern void ( *_ptrc_glBindBufferOffsetNV)(GLenum, GLuint, GLuint, GLintptr);
extern void ( *_ptrc_glBindBufferRangeNV)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glEndTransformFeedbackNV)(void);
extern void ( *_ptrc_glGetActiveVaryingNV)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
extern void ( *_ptrc_glGetTransformFeedbackVaryingNV)(GLuint, GLuint, GLint *);
extern GLint ( *_ptrc_glGetVaryingLocationNV)(GLuint, const GLchar *);
extern void ( *_ptrc_glTransformFeedbackAttribsNV)(GLuint, const GLint *, GLenum);
extern void ( *_ptrc_glTransformFeedbackStreamAttribsNV)(GLsizei, const GLint *, GLsizei, const GLint *, GLenum);
extern void ( *_ptrc_glTransformFeedbackVaryingsNV)(GLuint, GLsizei, const GLint *, GLenum);
extern void ( *_ptrc_glBindTransformFeedbackNV)(GLenum, GLuint);
extern void ( *_ptrc_glDeleteTransformFeedbacksNV)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDrawTransformFeedbackNV)(GLenum, GLuint);
extern void ( *_ptrc_glGenTransformFeedbacksNV)(GLsizei, GLuint *);
extern GLboolean ( *_ptrc_glIsTransformFeedbackNV)(GLuint);
extern void ( *_ptrc_glPauseTransformFeedbackNV)(void);
extern void ( *_ptrc_glResumeTransformFeedbackNV)(void);
extern void ( *_ptrc_glVDPAUFiniNV)(void);
extern void ( *_ptrc_glVDPAUGetSurfaceivNV)(GLvdpauSurfaceNV, GLenum, GLsizei, GLsizei *, GLint *);
extern void ( *_ptrc_glVDPAUInitNV)(const GLvoid *, const GLvoid *);
extern void ( *_ptrc_glVDPAUIsSurfaceNV)(GLvdpauSurfaceNV);
extern void ( *_ptrc_glVDPAUMapSurfacesNV)(GLsizei, const GLvdpauSurfaceNV *);
extern GLvdpauSurfaceNV ( *_ptrc_glVDPAURegisterOutputSurfaceNV)(const GLvoid *, GLenum, GLsizei, const GLuint *);
extern GLvdpauSurfaceNV ( *_ptrc_glVDPAURegisterVideoSurfaceNV)(const GLvoid *, GLenum, GLsizei, const GLuint *);
extern void ( *_ptrc_glVDPAUSurfaceAccessNV)(GLvdpauSurfaceNV, GLenum);
extern void ( *_ptrc_glVDPAUUnmapSurfacesNV)(GLsizei, const GLvdpauSurfaceNV *);
extern void ( *_ptrc_glVDPAUUnregisterSurfaceNV)(GLvdpauSurfaceNV);
extern void ( *_ptrc_glFlushVertexArrayRangeNV)(void);
extern void ( *_ptrc_glVertexArrayRangeNV)(GLsizei, const GLvoid *);
extern void ( *_ptrc_glGetVertexAttribLi64vNV)(GLuint, GLenum, GLint64EXT *);
extern void ( *_ptrc_glGetVertexAttribLui64vNV)(GLuint, GLenum, GLuint64EXT *);
extern void ( *_ptrc_glVertexAttribL1i64NV)(GLuint, GLint64EXT);
extern void ( *_ptrc_glVertexAttribL1i64vNV)(GLuint, const GLint64EXT *);
extern void ( *_ptrc_glVertexAttribL1ui64NV)(GLuint, GLuint64EXT);
extern void ( *_ptrc_glVertexAttribL1ui64vNV)(GLuint, const GLuint64EXT *);
extern void ( *_ptrc_glVertexAttribL2i64NV)(GLuint, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glVertexAttribL2i64vNV)(GLuint, const GLint64EXT *);
extern void ( *_ptrc_glVertexAttribL2ui64NV)(GLuint, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glVertexAttribL2ui64vNV)(GLuint, const GLuint64EXT *);
extern void ( *_ptrc_glVertexAttribL3i64NV)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glVertexAttribL3i64vNV)(GLuint, const GLint64EXT *);
extern void ( *_ptrc_glVertexAttribL3ui64NV)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glVertexAttribL3ui64vNV)(GLuint, const GLuint64EXT *);
extern void ( *_ptrc_glVertexAttribL4i64NV)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
extern void ( *_ptrc_glVertexAttribL4i64vNV)(GLuint, const GLint64EXT *);
extern void ( *_ptrc_glVertexAttribL4ui64NV)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
extern void ( *_ptrc_glVertexAttribL4ui64vNV)(GLuint, const GLuint64EXT *);
extern void ( *_ptrc_glVertexAttribLFormatNV)(GLuint, GLint, GLenum, GLsizei);
extern void ( *_ptrc_glBufferAddressRangeNV)(GLenum, GLuint, GLuint64EXT, GLsizeiptr);
extern void ( *_ptrc_glColorFormatNV)(GLint, GLenum, GLsizei);
extern void ( *_ptrc_glEdgeFlagFormatNV)(GLsizei);
extern void ( *_ptrc_glFogCoordFormatNV)(GLenum, GLsizei);
extern void ( *_ptrc_glGetIntegerui64i_vNV)(GLenum, GLuint, GLuint64EXT *);
extern void ( *_ptrc_glIndexFormatNV)(GLenum, GLsizei);
extern void ( *_ptrc_glNormalFormatNV)(GLenum, GLsizei);
extern void ( *_ptrc_glSecondaryColorFormatNV)(GLint, GLenum, GLsizei);
extern void ( *_ptrc_glTexCoordFormatNV)(GLint, GLenum, GLsizei);
extern void ( *_ptrc_glVertexAttribFormatNV)(GLuint, GLint, GLenum, GLboolean, GLsizei);
extern void ( *_ptrc_glVertexAttribIFormatNV)(GLuint, GLint, GLenum, GLsizei);
extern void ( *_ptrc_glVertexFormatNV)(GLint, GLenum, GLsizei);
extern GLboolean ( *_ptrc_glAreProgramsResidentNV)(GLsizei, const GLuint *, GLboolean *);
extern void ( *_ptrc_glBindProgramNV)(GLenum, GLuint);
extern void ( *_ptrc_glDeleteProgramsNV)(GLsizei, const GLuint *);
extern void ( *_ptrc_glExecuteProgramNV)(GLenum, GLuint, const GLfloat *);
extern void ( *_ptrc_glGenProgramsNV)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetProgramParameterdvNV)(GLenum, GLuint, GLenum, GLdouble *);
extern void ( *_ptrc_glGetProgramParameterfvNV)(GLenum, GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetProgramStringNV)(GLuint, GLenum, GLubyte *);
extern void ( *_ptrc_glGetProgramivNV)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetTrackMatrixivNV)(GLenum, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVertexAttribPointervNV)(GLuint, GLenum, GLvoid **);
extern void ( *_ptrc_glGetVertexAttribdvNV)(GLuint, GLenum, GLdouble *);
extern void ( *_ptrc_glGetVertexAttribfvNV)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetVertexAttribivNV)(GLuint, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsProgramNV)(GLuint);
extern void ( *_ptrc_glLoadProgramNV)(GLenum, GLuint, GLsizei, const GLubyte *);
extern void ( *_ptrc_glProgramParameter4dNV)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramParameter4dvNV)(GLenum, GLuint, const GLdouble *);
extern void ( *_ptrc_glProgramParameter4fNV)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramParameter4fvNV)(GLenum, GLuint, const GLfloat *);
extern void ( *_ptrc_glProgramParameters4dvNV)(GLenum, GLuint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramParameters4fvNV)(GLenum, GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glRequestResidentProgramsNV)(GLsizei, const GLuint *);
extern void ( *_ptrc_glTrackMatrixNV)(GLenum, GLuint, GLenum, GLenum);
extern void ( *_ptrc_glVertexAttrib1dNV)(GLuint, GLdouble);
extern void ( *_ptrc_glVertexAttrib1dvNV)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib1fNV)(GLuint, GLfloat);
extern void ( *_ptrc_glVertexAttrib1fvNV)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib1sNV)(GLuint, GLshort);
extern void ( *_ptrc_glVertexAttrib1svNV)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib2dNV)(GLuint, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib2dvNV)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib2fNV)(GLuint, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib2fvNV)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib2sNV)(GLuint, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib2svNV)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib3dNV)(GLuint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib3dvNV)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib3fNV)(GLuint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib3fvNV)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib3sNV)(GLuint, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib3svNV)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib4dNV)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib4dvNV)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib4fNV)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib4fvNV)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib4sNV)(GLuint, GLshort, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib4svNV)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib4ubNV)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
extern void ( *_ptrc_glVertexAttrib4ubvNV)(GLuint, const GLubyte *);
extern void ( *_ptrc_glVertexAttribPointerNV)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glVertexAttribs1dvNV)(GLuint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glVertexAttribs1fvNV)(GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glVertexAttribs1svNV)(GLuint, GLsizei, const GLshort *);
extern void ( *_ptrc_glVertexAttribs2dvNV)(GLuint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glVertexAttribs2fvNV)(GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glVertexAttribs2svNV)(GLuint, GLsizei, const GLshort *);
extern void ( *_ptrc_glVertexAttribs3dvNV)(GLuint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glVertexAttribs3fvNV)(GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glVertexAttribs3svNV)(GLuint, GLsizei, const GLshort *);
extern void ( *_ptrc_glVertexAttribs4dvNV)(GLuint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glVertexAttribs4fvNV)(GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glVertexAttribs4svNV)(GLuint, GLsizei, const GLshort *);
extern void ( *_ptrc_glVertexAttribs4ubvNV)(GLuint, GLsizei, const GLubyte *);
# 10392 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glGetVertexAttribIivEXT)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVertexAttribIuivEXT)(GLuint, GLenum, GLuint *);
extern void ( *_ptrc_glVertexAttribI1iEXT)(GLuint, GLint);
extern void ( *_ptrc_glVertexAttribI1ivEXT)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttribI1uiEXT)(GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribI1uivEXT)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttribI2iEXT)(GLuint, GLint, GLint);
extern void ( *_ptrc_glVertexAttribI2ivEXT)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttribI2uiEXT)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribI2uivEXT)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttribI3iEXT)(GLuint, GLint, GLint, GLint);
extern void ( *_ptrc_glVertexAttribI3ivEXT)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttribI3uiEXT)(GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribI3uivEXT)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttribI4bvEXT)(GLuint, const GLbyte *);
extern void ( *_ptrc_glVertexAttribI4iEXT)(GLuint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glVertexAttribI4ivEXT)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttribI4svEXT)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttribI4ubvEXT)(GLuint, const GLubyte *);
extern void ( *_ptrc_glVertexAttribI4uiEXT)(GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribI4uivEXT)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttribI4usvEXT)(GLuint, const GLushort *);
extern void ( *_ptrc_glVertexAttribIPointerEXT)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glBeginVideoCaptureNV)(GLuint);
extern void ( *_ptrc_glBindVideoCaptureStreamBufferNV)(GLuint, GLuint, GLenum, GLintptrARB);
extern void ( *_ptrc_glBindVideoCaptureStreamTextureNV)(GLuint, GLuint, GLenum, GLenum, GLuint);
extern void ( *_ptrc_glEndVideoCaptureNV)(GLuint);
extern void ( *_ptrc_glGetVideoCaptureStreamdvNV)(GLuint, GLuint, GLenum, GLdouble *);
extern void ( *_ptrc_glGetVideoCaptureStreamfvNV)(GLuint, GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetVideoCaptureStreamivNV)(GLuint, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVideoCaptureivNV)(GLuint, GLenum, GLint *);
extern GLenum ( *_ptrc_glVideoCaptureNV)(GLuint, GLuint *, GLuint64EXT *);
extern void ( *_ptrc_glVideoCaptureStreamParameterdvNV)(GLuint, GLuint, GLenum, const GLdouble *);
extern void ( *_ptrc_glVideoCaptureStreamParameterfvNV)(GLuint, GLuint, GLenum, const GLfloat *);
extern void ( *_ptrc_glVideoCaptureStreamParameterivNV)(GLuint, GLuint, GLenum, const GLint *);
extern void ( *_ptrc_glMultiTexCoord1bOES)(GLenum, GLbyte);
extern void ( *_ptrc_glMultiTexCoord1bvOES)(GLenum, const GLbyte *);
extern void ( *_ptrc_glMultiTexCoord2bOES)(GLenum, GLbyte, GLbyte);
extern void ( *_ptrc_glMultiTexCoord2bvOES)(GLenum, const GLbyte *);
extern void ( *_ptrc_glMultiTexCoord3bOES)(GLenum, GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glMultiTexCoord3bvOES)(GLenum, const GLbyte *);
extern void ( *_ptrc_glMultiTexCoord4bOES)(GLenum, GLbyte, GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glMultiTexCoord4bvOES)(GLenum, const GLbyte *);
extern void ( *_ptrc_glTexCoord1bOES)(GLbyte);
extern void ( *_ptrc_glTexCoord1bvOES)(const GLbyte *);
extern void ( *_ptrc_glTexCoord2bOES)(GLbyte, GLbyte);
extern void ( *_ptrc_glTexCoord2bvOES)(const GLbyte *);
extern void ( *_ptrc_glTexCoord3bOES)(GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glTexCoord3bvOES)(const GLbyte *);
extern void ( *_ptrc_glTexCoord4bOES)(GLbyte, GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glTexCoord4bvOES)(const GLbyte *);
extern void ( *_ptrc_glVertex2bOES)(GLbyte);
extern void ( *_ptrc_glVertex2bvOES)(const GLbyte *);
extern void ( *_ptrc_glVertex3bOES)(GLbyte, GLbyte);
extern void ( *_ptrc_glVertex3bvOES)(const GLbyte *);
extern void ( *_ptrc_glVertex4bOES)(GLbyte, GLbyte, GLbyte);
extern void ( *_ptrc_glVertex4bvOES)(const GLbyte *);
extern void ( *_ptrc_glAccumxOES)(GLenum, GLfixed);
extern void ( *_ptrc_glAlphaFuncxOES)(GLenum, GLfixed);
extern void ( *_ptrc_glBitmapxOES)(GLsizei, GLsizei, GLfixed, GLfixed, GLfixed, GLfixed, const GLubyte *);
extern void ( *_ptrc_glBlendColorxOES)(GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glClearAccumxOES)(GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glClearColorxOES)(GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glClearDepthxOES)(GLfixed);
extern void ( *_ptrc_glClipPlanexOES)(GLenum, const GLfixed *);
extern void ( *_ptrc_glColor3xOES)(GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glColor3xvOES)(const GLfixed *);
extern void ( *_ptrc_glColor4xOES)(GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glColor4xvOES)(const GLfixed *);
extern void ( *_ptrc_glConvolutionParameterxOES)(GLenum, GLenum, GLfixed);
extern void ( *_ptrc_glConvolutionParameterxvOES)(GLenum, GLenum, const GLfixed *);
extern void ( *_ptrc_glDepthRangexOES)(GLfixed, GLfixed);
extern void ( *_ptrc_glEvalCoord1xOES)(GLfixed);
extern void ( *_ptrc_glEvalCoord1xvOES)(const GLfixed *);
extern void ( *_ptrc_glEvalCoord2xOES)(GLfixed, GLfixed);
extern void ( *_ptrc_glEvalCoord2xvOES)(const GLfixed *);
extern void ( *_ptrc_glFeedbackBufferxOES)(GLsizei, GLenum, const GLfixed *);
extern void ( *_ptrc_glFogxOES)(GLenum, GLfixed);
extern void ( *_ptrc_glFogxvOES)(GLenum, const GLfixed *);
extern void ( *_ptrc_glFrustumxOES)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glGetClipPlanexOES)(GLenum, GLfixed *);
extern void ( *_ptrc_glGetConvolutionParameterxvOES)(GLenum, GLenum, GLfixed *);
extern void ( *_ptrc_glGetFixedvOES)(GLenum, GLfixed *);
extern void ( *_ptrc_glGetHistogramParameterxvOES)(GLenum, GLenum, GLfixed *);
extern void ( *_ptrc_glGetLightxOES)(GLenum, GLenum, GLfixed *);
extern void ( *_ptrc_glGetMapxvOES)(GLenum, GLenum, GLfixed *);
extern void ( *_ptrc_glGetMaterialxOES)(GLenum, GLenum, GLfixed);
extern void ( *_ptrc_glGetPixelMapxv)(GLenum, GLint, GLfixed *);
extern void ( *_ptrc_glGetTexEnvxvOES)(GLenum, GLenum, GLfixed *);
extern void ( *_ptrc_glGetTexGenxvOES)(GLenum, GLenum, GLfixed *);
extern void ( *_ptrc_glGetTexLevelParameterxvOES)(GLenum, GLint, GLenum, GLfixed *);
extern void ( *_ptrc_glGetTexParameterxvOES)(GLenum, GLenum, GLfixed *);
extern void ( *_ptrc_glIndexxOES)(GLfixed);
extern void ( *_ptrc_glIndexxvOES)(const GLfixed *);
extern void ( *_ptrc_glLightModelxOES)(GLenum, GLfixed);
extern void ( *_ptrc_glLightModelxvOES)(GLenum, const GLfixed *);
extern void ( *_ptrc_glLightxOES)(GLenum, GLenum, GLfixed);
extern void ( *_ptrc_glLightxvOES)(GLenum, GLenum, const GLfixed *);
extern void ( *_ptrc_glLineWidthxOES)(GLfixed);
extern void ( *_ptrc_glLoadMatrixxOES)(const GLfixed *);
extern void ( *_ptrc_glLoadTransposeMatrixxOES)(const GLfixed *);
extern void ( *_ptrc_glMap1xOES)(GLenum, GLfixed, GLfixed, GLint, GLint, GLfixed);
extern void ( *_ptrc_glMap2xOES)(GLenum, GLfixed, GLfixed, GLint, GLint, GLfixed, GLfixed, GLint, GLint, GLfixed);
extern void ( *_ptrc_glMapGrid1xOES)(GLint, GLfixed, GLfixed);
extern void ( *_ptrc_glMapGrid2xOES)(GLint, GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glMaterialxOES)(GLenum, GLenum, GLfixed);
extern void ( *_ptrc_glMaterialxvOES)(GLenum, GLenum, const GLfixed *);
extern void ( *_ptrc_glMultMatrixxOES)(const GLfixed *);
extern void ( *_ptrc_glMultTransposeMatrixxOES)(const GLfixed *);
extern void ( *_ptrc_glMultiTexCoord1xOES)(GLenum, GLfixed);
extern void ( *_ptrc_glMultiTexCoord1xvOES)(GLenum, const GLfixed *);
extern void ( *_ptrc_glMultiTexCoord2xOES)(GLenum, GLfixed, GLfixed);
extern void ( *_ptrc_glMultiTexCoord2xvOES)(GLenum, const GLfixed *);
extern void ( *_ptrc_glMultiTexCoord3xOES)(GLenum, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glMultiTexCoord3xvOES)(GLenum, const GLfixed *);
extern void ( *_ptrc_glMultiTexCoord4xOES)(GLenum, GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glMultiTexCoord4xvOES)(GLenum, const GLfixed *);
extern void ( *_ptrc_glNormal3xOES)(GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glNormal3xvOES)(const GLfixed *);
extern void ( *_ptrc_glOrthoxOES)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glPassThroughxOES)(GLfixed);
extern void ( *_ptrc_glPixelMapx)(GLenum, GLint, const GLfixed *);
extern void ( *_ptrc_glPixelStorex)(GLenum, GLfixed);
extern void ( *_ptrc_glPixelTransferxOES)(GLenum, GLfixed);
extern void ( *_ptrc_glPixelZoomxOES)(GLfixed, GLfixed);
extern void ( *_ptrc_glPointParameterxvOES)(GLenum, const GLfixed *);
extern void ( *_ptrc_glPointSizexOES)(GLfixed);
extern void ( *_ptrc_glPolygonOffsetxOES)(GLfixed, GLfixed);
extern void ( *_ptrc_glPrioritizeTexturesxOES)(GLsizei, const GLuint *, const GLfixed *);
extern void ( *_ptrc_glRasterPos2xOES)(GLfixed, GLfixed);
extern void ( *_ptrc_glRasterPos2xvOES)(const GLfixed *);
extern void ( *_ptrc_glRasterPos3xOES)(GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glRasterPos3xvOES)(const GLfixed *);
extern void ( *_ptrc_glRasterPos4xOES)(GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glRasterPos4xvOES)(const GLfixed *);
extern void ( *_ptrc_glRectxOES)(GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glRectxvOES)(const GLfixed *, const GLfixed *);
extern void ( *_ptrc_glRotatexOES)(GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glSampleCoverageOES)(GLfixed, GLboolean);
extern void ( *_ptrc_glScalexOES)(GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glTexCoord1xOES)(GLfixed);
extern void ( *_ptrc_glTexCoord1xvOES)(const GLfixed *);
extern void ( *_ptrc_glTexCoord2xOES)(GLfixed, GLfixed);
extern void ( *_ptrc_glTexCoord2xvOES)(const GLfixed *);
extern void ( *_ptrc_glTexCoord3xOES)(GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glTexCoord3xvOES)(const GLfixed *);
extern void ( *_ptrc_glTexCoord4xOES)(GLfixed, GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glTexCoord4xvOES)(const GLfixed *);
extern void ( *_ptrc_glTexEnvxOES)(GLenum, GLenum, GLfixed);
extern void ( *_ptrc_glTexEnvxvOES)(GLenum, GLenum, const GLfixed *);
extern void ( *_ptrc_glTexGenxOES)(GLenum, GLenum, GLfixed);
extern void ( *_ptrc_glTexGenxvOES)(GLenum, GLenum, const GLfixed *);
extern void ( *_ptrc_glTexParameterxOES)(GLenum, GLenum, GLfixed);
extern void ( *_ptrc_glTexParameterxvOES)(GLenum, GLenum, const GLfixed *);
extern void ( *_ptrc_glTranslatexOES)(GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glVertex2xOES)(GLfixed);
extern void ( *_ptrc_glVertex2xvOES)(const GLfixed *);
extern void ( *_ptrc_glVertex3xOES)(GLfixed, GLfixed);
extern void ( *_ptrc_glVertex3xvOES)(const GLfixed *);
extern void ( *_ptrc_glVertex4xOES)(GLfixed, GLfixed, GLfixed);
extern void ( *_ptrc_glVertex4xvOES)(const GLfixed *);
extern GLbitfield ( *_ptrc_glQueryMatrixxOES)(GLfixed *, GLint *);
extern void ( *_ptrc_glClearDepthfOES)(GLclampf);
extern void ( *_ptrc_glClipPlanefOES)(GLenum, const GLfloat *);
extern void ( *_ptrc_glDepthRangefOES)(GLclampf, GLclampf);
extern void ( *_ptrc_glFrustumfOES)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glGetClipPlanefOES)(GLenum, GLfloat *);
extern void ( *_ptrc_glOrthofOES)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
# 10757 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glHintPGI)(GLenum, GLint);
# 10766 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glDetailTexFuncSGIS)(GLenum, GLsizei, const GLfloat *);
extern void ( *_ptrc_glGetDetailTexFuncSGIS)(GLenum, GLfloat *);
extern void ( *_ptrc_glFogFuncSGIS)(GLsizei, const GLfloat *);
extern void ( *_ptrc_glGetFogFuncSGIS)(GLfloat *);
extern void ( *_ptrc_glSampleMaskSGIS)(GLclampf, GLboolean);
extern void ( *_ptrc_glSamplePatternSGIS)(GLenum);
extern void ( *_ptrc_glGetPixelTexGenParameterfvSGIS)(GLenum, GLfloat *);
extern void ( *_ptrc_glGetPixelTexGenParameterivSGIS)(GLenum, GLint *);
extern void ( *_ptrc_glPixelTexGenParameterfSGIS)(GLenum, GLfloat);
extern void ( *_ptrc_glPixelTexGenParameterfvSGIS)(GLenum, const GLfloat *);
extern void ( *_ptrc_glPixelTexGenParameteriSGIS)(GLenum, GLint);
extern void ( *_ptrc_glPixelTexGenParameterivSGIS)(GLenum, const GLint *);
extern void ( *_ptrc_glPointParameterfSGIS)(GLenum, GLfloat);
extern void ( *_ptrc_glPointParameterfvSGIS)(GLenum, const GLfloat *);
extern void ( *_ptrc_glGetSharpenTexFuncSGIS)(GLenum, GLfloat *);
extern void ( *_ptrc_glSharpenTexFuncSGIS)(GLenum, GLsizei, const GLfloat *);
extern void ( *_ptrc_glTexImage4DSGIS)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexSubImage4DSGIS)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTextureColorMaskSGIS)(GLboolean, GLboolean, GLboolean, GLboolean);
extern void ( *_ptrc_glGetTexFilterFuncSGIS)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glTexFilterFuncSGIS)(GLenum, GLenum, GLsizei, const GLfloat *);
extern void ( *_ptrc_glAsyncMarkerSGIX)(GLuint);
extern void ( *_ptrc_glDeleteAsyncMarkersSGIX)(GLuint, GLsizei);
extern GLint ( *_ptrc_glFinishAsyncSGIX)(GLuint *);
extern GLuint ( *_ptrc_glGenAsyncMarkersSGIX)(GLsizei);
extern GLboolean ( *_ptrc_glIsAsyncMarkerSGIX)(GLuint);
extern GLint ( *_ptrc_glPollAsyncSGIX)(GLuint *);
# 10874 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glFlushRasterSGIX)(void);
extern void ( *_ptrc_glFragmentColorMaterialSGIX)(GLenum, GLenum);
extern void ( *_ptrc_glFragmentLightModelfSGIX)(GLenum, GLfloat);
extern void ( *_ptrc_glFragmentLightModelfvSGIX)(GLenum, const GLfloat *);
extern void ( *_ptrc_glFragmentLightModeliSGIX)(GLenum, GLint);
extern void ( *_ptrc_glFragmentLightModelivSGIX)(GLenum, const GLint *);
extern void ( *_ptrc_glFragmentLightfSGIX)(GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glFragmentLightfvSGIX)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glFragmentLightiSGIX)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glFragmentLightivSGIX)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glFragmentMaterialfSGIX)(GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glFragmentMaterialfvSGIX)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glFragmentMaterialiSGIX)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glFragmentMaterialivSGIX)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glGetFragmentLightfvSGIX)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetFragmentLightivSGIX)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetFragmentMaterialfvSGIX)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetFragmentMaterialivSGIX)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glLightEnviSGIX)(GLenum, GLint);
extern void ( *_ptrc_glFrameZoomSGIX)(GLint);
extern void ( *_ptrc_glIglooInterfaceSGIX)(GLenum, const GLvoid *);
extern GLint ( *_ptrc_glGetInstrumentsSGIX)(void);
extern void ( *_ptrc_glInstrumentsBufferSGIX)(GLsizei, GLint *);
extern GLint ( *_ptrc_glPollInstrumentsSGIX)(GLint *);
extern void ( *_ptrc_glReadInstrumentsSGIX)(GLint);
extern void ( *_ptrc_glStartInstrumentsSGIX)(void);
extern void ( *_ptrc_glStopInstrumentsSGIX)(GLint);
extern void ( *_ptrc_glGetListParameterfvSGIX)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetListParameterivSGIX)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glListParameterfSGIX)(GLuint, GLenum, GLfloat);
extern void ( *_ptrc_glListParameterfvSGIX)(GLuint, GLenum, const GLfloat *);
extern void ( *_ptrc_glListParameteriSGIX)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glListParameterivSGIX)(GLuint, GLenum, const GLint *);
extern void ( *_ptrc_glPixelTexGenSGIX)(GLenum);
extern void ( *_ptrc_glDeformSGIX)(GLbitfield);
extern void ( *_ptrc_glDeformationMap3dSGIX)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
extern void ( *_ptrc_glDeformationMap3fSGIX)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
extern void ( *_ptrc_glLoadIdentityDeformationMapSGIX)(GLbitfield);
extern void ( *_ptrc_glReferencePlaneSGIX)(const GLdouble *);
# 10996 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glSpriteParameterfSGIX)(GLenum, GLfloat);
extern void ( *_ptrc_glSpriteParameterfvSGIX)(GLenum, const GLfloat *);
extern void ( *_ptrc_glSpriteParameteriSGIX)(GLenum, GLint);
extern void ( *_ptrc_glSpriteParameterivSGIX)(GLenum, const GLint *);
extern void ( *_ptrc_glTagSampleBufferSGIX)(void);
# 11025 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/gl_obs.h"
extern void ( *_ptrc_glColorTableParameterfvSGI)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glColorTableParameterivSGI)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glColorTableSGI)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glCopyColorTableSGI)(GLenum, GLenum, GLint, GLint, GLsizei);
extern void ( *_ptrc_glGetColorTableParameterfvSGI)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetColorTableParameterivSGI)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetColorTableSGI)(GLenum, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glFinishTextureSUNX)(void);
extern void ( *_ptrc_glGlobalAlphaFactorbSUN)(GLbyte);
extern void ( *_ptrc_glGlobalAlphaFactordSUN)(GLdouble);
extern void ( *_ptrc_glGlobalAlphaFactorfSUN)(GLfloat);
extern void ( *_ptrc_glGlobalAlphaFactoriSUN)(GLint);
extern void ( *_ptrc_glGlobalAlphaFactorsSUN)(GLshort);
extern void ( *_ptrc_glGlobalAlphaFactorubSUN)(GLubyte);
extern void ( *_ptrc_glGlobalAlphaFactoruiSUN)(GLuint);
extern void ( *_ptrc_glGlobalAlphaFactorusSUN)(GLushort);
extern void ( *_ptrc_glDrawMeshArraysSUN)(GLenum, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glReplacementCodePointerSUN)(GLenum, GLsizei, const GLvoid **);
extern void ( *_ptrc_glReplacementCodeubSUN)(GLubyte);
extern void ( *_ptrc_glReplacementCodeubvSUN)(const GLubyte *);
extern void ( *_ptrc_glReplacementCodeuiSUN)(GLuint);
extern void ( *_ptrc_glReplacementCodeuivSUN)(const GLuint *);
extern void ( *_ptrc_glReplacementCodeusSUN)(GLushort);
extern void ( *_ptrc_glReplacementCodeusvSUN)(const GLushort *);
extern void ( *_ptrc_glColor3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glColor3fVertex3fvSUN)(const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glColor4fNormal3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glColor4fNormal3fVertex3fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glColor4ubVertex2fSUN)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
extern void ( *_ptrc_glColor4ubVertex2fvSUN)(const GLubyte *, const GLfloat *);
extern void ( *_ptrc_glColor4ubVertex3fSUN)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glColor4ubVertex3fvSUN)(const GLubyte *, const GLfloat *);
extern void ( *_ptrc_glNormal3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glNormal3fVertex3fvSUN)(const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glReplacementCodeuiColor3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glReplacementCodeuiColor3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glReplacementCodeuiColor4fNormal3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glReplacementCodeuiColor4fNormal3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glReplacementCodeuiColor4ubVertex3fSUN)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glReplacementCodeuiColor4ubVertex3fvSUN)(const GLuint *, const GLubyte *, const GLfloat *);
extern void ( *_ptrc_glReplacementCodeuiNormal3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glReplacementCodeuiNormal3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glReplacementCodeuiTexCoord2fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glReplacementCodeuiTexCoord2fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glReplacementCodeuiVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glReplacementCodeuiVertex3fvSUN)(const GLuint *, const GLfloat *);
extern void ( *_ptrc_glTexCoord2fColor3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glTexCoord2fColor3fVertex3fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glTexCoord2fColor4fNormal3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glTexCoord2fColor4ubVertex3fSUN)(GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glTexCoord2fColor4ubVertex3fvSUN)(const GLfloat *, const GLubyte *, const GLfloat *);
extern void ( *_ptrc_glTexCoord2fNormal3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glTexCoord2fNormal3fVertex3fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glTexCoord2fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glTexCoord2fVertex3fvSUN)(const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glTexCoord4fColor4fNormal3fVertex4fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glTexCoord4fColor4fNormal3fVertex4fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glTexCoord4fVertex4fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glTexCoord4fVertex4fvSUN)(const GLfloat *, const GLfloat *);
extern void ( *_ptrc_glBlendFunc)(GLenum, GLenum);
extern void ( *_ptrc_glClear)(GLbitfield);
extern void ( *_ptrc_glClearColor)(GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glClearDepth)(GLdouble);
extern void ( *_ptrc_glClearStencil)(GLint);
extern void ( *_ptrc_glColorMask)(GLboolean, GLboolean, GLboolean, GLboolean);
extern void ( *_ptrc_glCullFace)(GLenum);
extern void ( *_ptrc_glDepthFunc)(GLenum);
extern void ( *_ptrc_glDepthMask)(GLboolean);
extern void ( *_ptrc_glDepthRange)(GLdouble, GLdouble);
extern void ( *_ptrc_glDisable)(GLenum);
extern void ( *_ptrc_glDrawBuffer)(GLenum);
extern void ( *_ptrc_glEnable)(GLenum);
extern void ( *_ptrc_glFinish)(void);
extern void ( *_ptrc_glFlush)(void);
extern void ( *_ptrc_glFrontFace)(GLenum);
extern void ( *_ptrc_glGetBooleanv)(GLenum, GLboolean *);
extern void ( *_ptrc_glGetDoublev)(GLenum, GLdouble *);
extern GLenum ( *_ptrc_glGetError)(void);
extern void ( *_ptrc_glGetFloatv)(GLenum, GLfloat *);
extern void ( *_ptrc_glGetIntegerv)(GLenum, GLint *);
extern const GLubyte * ( *_ptrc_glGetString)(GLenum);
extern void ( *_ptrc_glGetTexImage)(GLenum, GLint, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *);
extern void ( *_ptrc_glGetTexParameterfv)(GLenum, GLenum, GLfloat *);
extern void ( *_ptrc_glGetTexParameteriv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glHint)(GLenum, GLenum);
extern GLboolean ( *_ptrc_glIsEnabled)(GLenum);
extern void ( *_ptrc_glLineWidth)(GLfloat);
extern void ( *_ptrc_glLogicOp)(GLenum);
extern void ( *_ptrc_glPixelStoref)(GLenum, GLfloat);
extern void ( *_ptrc_glPixelStorei)(GLenum, GLint);
extern void ( *_ptrc_glPointSize)(GLfloat);
extern void ( *_ptrc_glPolygonMode)(GLenum, GLenum);
extern void ( *_ptrc_glReadBuffer)(GLenum);
extern void ( *_ptrc_glReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *);
extern void ( *_ptrc_glScissor)(GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glStencilFunc)(GLenum, GLint, GLuint);
extern void ( *_ptrc_glStencilMask)(GLuint);
extern void ( *_ptrc_glStencilOp)(GLenum, GLenum, GLenum);
extern void ( *_ptrc_glTexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexParameterf)(GLenum, GLenum, GLfloat);
extern void ( *_ptrc_glTexParameterfv)(GLenum, GLenum, const GLfloat *);
extern void ( *_ptrc_glTexParameteri)(GLenum, GLenum, GLint);
extern void ( *_ptrc_glTexParameteriv)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glViewport)(GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glBindTexture)(GLenum, GLuint);
extern void ( *_ptrc_glCopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
extern void ( *_ptrc_glCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
extern void ( *_ptrc_glCopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
extern void ( *_ptrc_glCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glDeleteTextures)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDrawArrays)(GLenum, GLint, GLsizei);
extern void ( *_ptrc_glDrawElements)(GLenum, GLsizei, GLenum, const GLvoid *);
extern void ( *_ptrc_glGenTextures)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetPointerv)(GLenum, GLvoid **);
extern GLboolean ( *_ptrc_glIsTexture)(GLuint);
extern void ( *_ptrc_glPolygonOffset)(GLfloat, GLfloat);
extern void ( *_ptrc_glTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glBlendEquation)(GLenum);
extern void ( *_ptrc_glCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glActiveTexture)(GLenum);
extern void ( *_ptrc_glCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glGetCompressedTexImage)(GLenum, GLint, GLvoid *);
extern void ( *_ptrc_glSampleCoverage)(GLfloat, GLboolean);
extern void ( *_ptrc_glBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glMultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei);
extern void ( *_ptrc_glMultiDrawElements)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei);
extern void ( *_ptrc_glPointParameterf)(GLenum, GLfloat);
extern void ( *_ptrc_glPointParameterfv)(GLenum, const GLfloat *);
extern void ( *_ptrc_glPointParameteri)(GLenum, GLint);
extern void ( *_ptrc_glPointParameteriv)(GLenum, const GLint *);
extern void ( *_ptrc_glBeginQuery)(GLenum, GLuint);
extern void ( *_ptrc_glBindBuffer)(GLenum, GLuint);
extern void ( *_ptrc_glBufferData)(GLenum, GLsizeiptr, const GLvoid *, GLenum);
extern void ( *_ptrc_glBufferSubData)(GLenum, GLintptr, GLsizeiptr, const GLvoid *);
extern void ( *_ptrc_glDeleteBuffers)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDeleteQueries)(GLsizei, const GLuint *);
extern void ( *_ptrc_glEndQuery)(GLenum);
extern void ( *_ptrc_glGenBuffers)(GLsizei, GLuint *);
extern void ( *_ptrc_glGenQueries)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetBufferParameteriv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetBufferPointerv)(GLenum, GLenum, GLvoid **);
extern void ( *_ptrc_glGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, GLvoid *);
extern void ( *_ptrc_glGetQueryObjectiv)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetQueryObjectuiv)(GLuint, GLenum, GLuint *);
extern void ( *_ptrc_glGetQueryiv)(GLenum, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsBuffer)(GLuint);
extern GLboolean ( *_ptrc_glIsQuery)(GLuint);
extern void * ( *_ptrc_glMapBuffer)(GLenum, GLenum);
extern GLboolean ( *_ptrc_glUnmapBuffer)(GLenum);
extern void ( *_ptrc_glAttachShader)(GLuint, GLuint);
extern void ( *_ptrc_glBindAttribLocation)(GLuint, GLuint, const GLchar *);
extern void ( *_ptrc_glBlendEquationSeparate)(GLenum, GLenum);
extern void ( *_ptrc_glCompileShader)(GLuint);
extern GLuint ( *_ptrc_glCreateProgram)(void);
extern GLuint ( *_ptrc_glCreateShader)(GLenum);
extern void ( *_ptrc_glDeleteProgram)(GLuint);
extern void ( *_ptrc_glDeleteShader)(GLuint);
extern void ( *_ptrc_glDetachShader)(GLuint, GLuint);
extern void ( *_ptrc_glDisableVertexAttribArray)(GLuint);
extern void ( *_ptrc_glDrawBuffers)(GLsizei, const GLenum *);
extern void ( *_ptrc_glEnableVertexAttribArray)(GLuint);
extern void ( *_ptrc_glGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
extern void ( *_ptrc_glGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
extern void ( *_ptrc_glGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *);
extern GLint ( *_ptrc_glGetAttribLocation)(GLuint, const GLchar *);
extern void ( *_ptrc_glGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetProgramiv)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetShaderiv)(GLuint, GLenum, GLint *);
extern GLint ( *_ptrc_glGetUniformLocation)(GLuint, const GLchar *);
extern void ( *_ptrc_glGetUniformfv)(GLuint, GLint, GLfloat *);
extern void ( *_ptrc_glGetUniformiv)(GLuint, GLint, GLint *);
extern void ( *_ptrc_glGetVertexAttribPointerv)(GLuint, GLenum, GLvoid **);
extern void ( *_ptrc_glGetVertexAttribdv)(GLuint, GLenum, GLdouble *);
extern void ( *_ptrc_glGetVertexAttribfv)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetVertexAttribiv)(GLuint, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsProgram)(GLuint);
extern GLboolean ( *_ptrc_glIsShader)(GLuint);
extern void ( *_ptrc_glLinkProgram)(GLuint);
extern void ( *_ptrc_glShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *);
extern void ( *_ptrc_glStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint);
extern void ( *_ptrc_glStencilMaskSeparate)(GLenum, GLuint);
extern void ( *_ptrc_glStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glUniform1f)(GLint, GLfloat);
extern void ( *_ptrc_glUniform1fv)(GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glUniform1i)(GLint, GLint);
extern void ( *_ptrc_glUniform1iv)(GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glUniform2f)(GLint, GLfloat, GLfloat);
extern void ( *_ptrc_glUniform2fv)(GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glUniform2i)(GLint, GLint, GLint);
extern void ( *_ptrc_glUniform2iv)(GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glUniform3f)(GLint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glUniform3fv)(GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glUniform3i)(GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glUniform3iv)(GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glUniform4fv)(GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glUniform4i)(GLint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glUniform4iv)(GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUseProgram)(GLuint);
extern void ( *_ptrc_glValidateProgram)(GLuint);
extern void ( *_ptrc_glVertexAttrib1d)(GLuint, GLdouble);
extern void ( *_ptrc_glVertexAttrib1dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib1f)(GLuint, GLfloat);
extern void ( *_ptrc_glVertexAttrib1fv)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib1s)(GLuint, GLshort);
extern void ( *_ptrc_glVertexAttrib1sv)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib2d)(GLuint, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib2dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib2f)(GLuint, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib2fv)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib2s)(GLuint, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib2sv)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib3dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib3fv)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib3s)(GLuint, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib3sv)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib4Nbv)(GLuint, const GLbyte *);
extern void ( *_ptrc_glVertexAttrib4Niv)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttrib4Nsv)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
extern void ( *_ptrc_glVertexAttrib4Nubv)(GLuint, const GLubyte *);
extern void ( *_ptrc_glVertexAttrib4Nuiv)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttrib4Nusv)(GLuint, const GLushort *);
extern void ( *_ptrc_glVertexAttrib4bv)(GLuint, const GLbyte *);
extern void ( *_ptrc_glVertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttrib4dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glVertexAttrib4fv)(GLuint, const GLfloat *);
extern void ( *_ptrc_glVertexAttrib4iv)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort);
extern void ( *_ptrc_glVertexAttrib4sv)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttrib4ubv)(GLuint, const GLubyte *);
extern void ( *_ptrc_glVertexAttrib4uiv)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttrib4usv)(GLuint, const GLushort *);
extern void ( *_ptrc_glVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
extern void ( *_ptrc_glUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glBeginConditionalRender)(GLuint, GLenum);
extern void ( *_ptrc_glBeginTransformFeedback)(GLenum);
extern void ( *_ptrc_glBindBufferBase)(GLenum, GLuint, GLuint);
extern void ( *_ptrc_glBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glBindFragDataLocation)(GLuint, GLuint, const GLchar *);
extern void ( *_ptrc_glBindFramebuffer)(GLenum, GLuint);
extern void ( *_ptrc_glBindRenderbuffer)(GLenum, GLuint);
extern void ( *_ptrc_glBindVertexArray)(GLuint);
extern void ( *_ptrc_glBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
extern GLenum ( *_ptrc_glCheckFramebufferStatus)(GLenum);
extern void ( *_ptrc_glClampColor)(GLenum, GLenum);
extern void ( *_ptrc_glClearBufferfi)(GLenum, GLint, GLfloat, GLint);
extern void ( *_ptrc_glClearBufferfv)(GLenum, GLint, const GLfloat *);
extern void ( *_ptrc_glClearBufferiv)(GLenum, GLint, const GLint *);
extern void ( *_ptrc_glClearBufferuiv)(GLenum, GLint, const GLuint *);
extern void ( *_ptrc_glColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
extern void ( *_ptrc_glDeleteFramebuffers)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDeleteRenderbuffers)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDeleteVertexArrays)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDisablei)(GLenum, GLuint);
extern void ( *_ptrc_glEnablei)(GLenum, GLuint);
extern void ( *_ptrc_glEndConditionalRender)(void);
extern void ( *_ptrc_glEndTransformFeedback)(void);
extern void ( *_ptrc_glFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint);
extern void ( *_ptrc_glFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint);
extern void ( *_ptrc_glGenFramebuffers)(GLsizei, GLuint *);
extern void ( *_ptrc_glGenRenderbuffers)(GLsizei, GLuint *);
extern void ( *_ptrc_glGenVertexArrays)(GLsizei, GLuint *);
extern void ( *_ptrc_glGenerateMipmap)(GLenum);
extern void ( *_ptrc_glGetBooleani_v)(GLenum, GLuint, GLboolean *);
extern GLint ( *_ptrc_glGetFragDataLocation)(GLuint, const GLchar *);
extern void ( *_ptrc_glGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetIntegeri_v)(GLenum, GLuint, GLint *);
extern void ( *_ptrc_glGetRenderbufferParameteriv)(GLenum, GLenum, GLint *);
extern const GLubyte * ( *_ptrc_glGetStringi)(GLenum, GLuint);
extern void ( *_ptrc_glGetTexParameterIiv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetTexParameterIuiv)(GLenum, GLenum, GLuint *);
extern void ( *_ptrc_glGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
extern void ( *_ptrc_glGetUniformuiv)(GLuint, GLint, GLuint *);
extern void ( *_ptrc_glGetVertexAttribIiv)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetVertexAttribIuiv)(GLuint, GLenum, GLuint *);
extern GLboolean ( *_ptrc_glIsEnabledi)(GLenum, GLuint);
extern GLboolean ( *_ptrc_glIsFramebuffer)(GLuint);
extern GLboolean ( *_ptrc_glIsRenderbuffer)(GLuint);
extern GLboolean ( *_ptrc_glIsVertexArray)(GLuint);
extern void * ( *_ptrc_glMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield);
extern void ( *_ptrc_glRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glTexParameterIiv)(GLenum, GLenum, const GLint *);
extern void ( *_ptrc_glTexParameterIuiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum);
extern void ( *_ptrc_glUniform1ui)(GLint, GLuint);
extern void ( *_ptrc_glUniform1uiv)(GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glUniform2ui)(GLint, GLuint, GLuint);
extern void ( *_ptrc_glUniform2uiv)(GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glUniform3ui)(GLint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glUniform3uiv)(GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glUniform4uiv)(GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glVertexAttribI1i)(GLuint, GLint);
extern void ( *_ptrc_glVertexAttribI1iv)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttribI1ui)(GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribI1uiv)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttribI2i)(GLuint, GLint, GLint);
extern void ( *_ptrc_glVertexAttribI2iv)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttribI2ui)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribI2uiv)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttribI3i)(GLuint, GLint, GLint, GLint);
extern void ( *_ptrc_glVertexAttribI3iv)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribI3uiv)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttribI4bv)(GLuint, const GLbyte *);
extern void ( *_ptrc_glVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glVertexAttribI4iv)(GLuint, const GLint *);
extern void ( *_ptrc_glVertexAttribI4sv)(GLuint, const GLshort *);
extern void ( *_ptrc_glVertexAttribI4ubv)(GLuint, const GLubyte *);
extern void ( *_ptrc_glVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribI4uiv)(GLuint, const GLuint *);
extern void ( *_ptrc_glVertexAttribI4usv)(GLuint, const GLushort *);
extern void ( *_ptrc_glVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glDrawElementsInstanced)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
extern void ( *_ptrc_glGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *);
extern GLuint ( *_ptrc_glGetUniformBlockIndex)(GLuint, const GLchar *);
extern void ( *_ptrc_glGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *);
extern void ( *_ptrc_glPrimitiveRestartIndex)(GLuint);
extern void ( *_ptrc_glTexBuffer)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glUniformBlockBinding)(GLuint, GLuint, GLuint);
extern GLenum ( *_ptrc_glClientWaitSync)(GLsync, GLbitfield, GLuint64);
extern void ( *_ptrc_glDeleteSync)(GLsync);
extern void ( *_ptrc_glDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLint);
extern void ( *_ptrc_glDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint);
extern void ( *_ptrc_glDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint);
extern GLsync ( *_ptrc_glFenceSync)(GLenum, GLbitfield);
extern void ( *_ptrc_glFramebufferTexture)(GLenum, GLenum, GLuint, GLint);
extern void ( *_ptrc_glGetBufferParameteri64v)(GLenum, GLenum, GLint64 *);
extern void ( *_ptrc_glGetInteger64i_v)(GLenum, GLuint, GLint64 *);
extern void ( *_ptrc_glGetInteger64v)(GLenum, GLint64 *);
extern void ( *_ptrc_glGetMultisamplefv)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *);
extern GLboolean ( *_ptrc_glIsSync)(GLsync);
extern void ( *_ptrc_glMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei, const GLint *);
extern void ( *_ptrc_glProvokingVertex)(GLenum);
extern void ( *_ptrc_glSampleMaski)(GLuint, GLbitfield);
extern void ( *_ptrc_glTexImage2DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTexImage3DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glWaitSync)(GLsync, GLbitfield, GLuint64);
extern void ( *_ptrc_glBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *);
extern void ( *_ptrc_glBindSampler)(GLuint, GLuint);
extern void ( *_ptrc_glColorP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glColorP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glColorP4ui)(GLenum, GLuint);
extern void ( *_ptrc_glColorP4uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glDeleteSamplers)(GLsizei, const GLuint *);
extern void ( *_ptrc_glGenSamplers)(GLsizei, GLuint *);
extern GLint ( *_ptrc_glGetFragDataIndex)(GLuint, const GLchar *);
extern void ( *_ptrc_glGetQueryObjecti64v)(GLuint, GLenum, GLint64 *);
extern void ( *_ptrc_glGetQueryObjectui64v)(GLuint, GLenum, GLuint64 *);
extern void ( *_ptrc_glGetSamplerParameterIiv)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *);
extern void ( *_ptrc_glGetSamplerParameterfv)(GLuint, GLenum, GLfloat *);
extern void ( *_ptrc_glGetSamplerParameteriv)(GLuint, GLenum, GLint *);
extern GLboolean ( *_ptrc_glIsSampler)(GLuint);
extern void ( *_ptrc_glMultiTexCoordP1ui)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordP1uiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glMultiTexCoordP2ui)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordP2uiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glMultiTexCoordP3ui)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordP3uiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glMultiTexCoordP4ui)(GLenum, GLenum, GLuint);
extern void ( *_ptrc_glMultiTexCoordP4uiv)(GLenum, GLenum, const GLuint *);
extern void ( *_ptrc_glNormalP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glNormalP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glQueryCounter)(GLuint, GLenum);
extern void ( *_ptrc_glSamplerParameterIiv)(GLuint, GLenum, const GLint *);
extern void ( *_ptrc_glSamplerParameterIuiv)(GLuint, GLenum, const GLuint *);
extern void ( *_ptrc_glSamplerParameterf)(GLuint, GLenum, GLfloat);
extern void ( *_ptrc_glSamplerParameterfv)(GLuint, GLenum, const GLfloat *);
extern void ( *_ptrc_glSamplerParameteri)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glSamplerParameteriv)(GLuint, GLenum, const GLint *);
extern void ( *_ptrc_glSecondaryColorP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glSecondaryColorP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glTexCoordP1ui)(GLenum, GLuint);
extern void ( *_ptrc_glTexCoordP1uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glTexCoordP2ui)(GLenum, GLuint);
extern void ( *_ptrc_glTexCoordP2uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glTexCoordP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glTexCoordP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glTexCoordP4ui)(GLenum, GLuint);
extern void ( *_ptrc_glTexCoordP4uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glVertexAttribDivisor)(GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribP1ui)(GLuint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribP1uiv)(GLuint, GLenum, GLboolean, const GLuint *);
extern void ( *_ptrc_glVertexAttribP2ui)(GLuint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribP2uiv)(GLuint, GLenum, GLboolean, const GLuint *);
extern void ( *_ptrc_glVertexAttribP3ui)(GLuint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribP3uiv)(GLuint, GLenum, GLboolean, const GLuint *);
extern void ( *_ptrc_glVertexAttribP4ui)(GLuint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribP4uiv)(GLuint, GLenum, GLboolean, const GLuint *);
extern void ( *_ptrc_glVertexP2ui)(GLenum, GLuint);
extern void ( *_ptrc_glVertexP2uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glVertexP3ui)(GLenum, GLuint);
extern void ( *_ptrc_glVertexP3uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glVertexP4ui)(GLenum, GLuint);
extern void ( *_ptrc_glVertexP4uiv)(GLenum, const GLuint *);
extern void ( *_ptrc_glBeginQueryIndexed)(GLenum, GLuint, GLuint);
extern void ( *_ptrc_glBindTransformFeedback)(GLenum, GLuint);
extern void ( *_ptrc_glBlendEquationSeparatei)(GLuint, GLenum, GLenum);
extern void ( *_ptrc_glBlendEquationi)(GLuint, GLenum);
extern void ( *_ptrc_glBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum);
extern void ( *_ptrc_glBlendFunci)(GLuint, GLenum, GLenum);
extern void ( *_ptrc_glDeleteTransformFeedbacks)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDrawArraysIndirect)(GLenum, const GLvoid *);
extern void ( *_ptrc_glDrawElementsIndirect)(GLenum, GLenum, const GLvoid *);
extern void ( *_ptrc_glDrawTransformFeedback)(GLenum, GLuint);
extern void ( *_ptrc_glDrawTransformFeedbackStream)(GLenum, GLuint, GLuint);
extern void ( *_ptrc_glEndQueryIndexed)(GLenum, GLuint);
extern void ( *_ptrc_glGenTransformFeedbacks)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *);
extern GLuint ( *_ptrc_glGetSubroutineIndex)(GLuint, GLenum, const GLchar *);
extern GLint ( *_ptrc_glGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *);
extern void ( *_ptrc_glGetUniformSubroutineuiv)(GLenum, GLint, GLuint *);
extern void ( *_ptrc_glGetUniformdv)(GLuint, GLint, GLdouble *);
extern GLboolean ( *_ptrc_glIsTransformFeedback)(GLuint);
extern void ( *_ptrc_glMinSampleShading)(GLfloat);
extern void ( *_ptrc_glPatchParameterfv)(GLenum, const GLfloat *);
extern void ( *_ptrc_glPatchParameteri)(GLenum, GLint);
extern void ( *_ptrc_glPauseTransformFeedback)(void);
extern void ( *_ptrc_glResumeTransformFeedback)(void);
extern void ( *_ptrc_glUniform1d)(GLint, GLdouble);
extern void ( *_ptrc_glUniform1dv)(GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glUniform2d)(GLint, GLdouble, GLdouble);
extern void ( *_ptrc_glUniform2dv)(GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glUniform3d)(GLint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glUniform3dv)(GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glUniform4dv)(GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix2x3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix2x4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix3x4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix4x2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformMatrix4x3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *);
extern void ( *_ptrc_glActiveShaderProgram)(GLuint, GLuint);
extern void ( *_ptrc_glBindProgramPipeline)(GLuint);
extern void ( *_ptrc_glClearDepthf)(GLfloat);
extern GLuint ( *_ptrc_glCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*);
extern void ( *_ptrc_glDeleteProgramPipelines)(GLsizei, const GLuint *);
extern void ( *_ptrc_glDepthRangeArrayv)(GLuint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glDepthRangeIndexed)(GLuint, GLdouble, GLdouble);
extern void ( *_ptrc_glDepthRangef)(GLfloat, GLfloat);
extern void ( *_ptrc_glGenProgramPipelines)(GLsizei, GLuint *);
extern void ( *_ptrc_glGetDoublei_v)(GLenum, GLuint, GLdouble *);
extern void ( *_ptrc_glGetFloati_v)(GLenum, GLuint, GLfloat *);
extern void ( *_ptrc_glGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, GLvoid *);
extern void ( *_ptrc_glGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetProgramPipelineiv)(GLuint, GLenum, GLint *);
extern void ( *_ptrc_glGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *);
extern void ( *_ptrc_glGetVertexAttribLdv)(GLuint, GLenum, GLdouble *);
extern GLboolean ( *_ptrc_glIsProgramPipeline)(GLuint);
extern void ( *_ptrc_glProgramBinary)(GLuint, GLenum, const GLvoid *, GLsizei);
extern void ( *_ptrc_glProgramParameteri)(GLuint, GLenum, GLint);
extern void ( *_ptrc_glProgramUniform1d)(GLuint, GLint, GLdouble);
extern void ( *_ptrc_glProgramUniform1dv)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform1f)(GLuint, GLint, GLfloat);
extern void ( *_ptrc_glProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform1i)(GLuint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform1ui)(GLuint, GLint, GLuint);
extern void ( *_ptrc_glProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform2d)(GLuint, GLint, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform2dv)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform2i)(GLuint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform2ui)(GLuint, GLint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform3d)(GLuint, GLint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform3dv)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniform4d)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glProgramUniform4dv)(GLuint, GLint, GLsizei, const GLdouble *);
extern void ( *_ptrc_glProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint);
extern void ( *_ptrc_glProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *);
extern void ( *_ptrc_glProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *);
extern void ( *_ptrc_glProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
extern void ( *_ptrc_glProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
extern void ( *_ptrc_glReleaseShaderCompiler)(void);
extern void ( *_ptrc_glScissorArrayv)(GLuint, GLsizei, const GLint *);
extern void ( *_ptrc_glScissorIndexed)(GLuint, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glScissorIndexedv)(GLuint, const GLint *);
extern void ( *_ptrc_glShaderBinary)(GLsizei, const GLuint *, GLenum, const GLvoid *, GLsizei);
extern void ( *_ptrc_glUseProgramStages)(GLuint, GLbitfield, GLuint);
extern void ( *_ptrc_glValidateProgramPipeline)(GLuint);
extern void ( *_ptrc_glVertexAttribL1d)(GLuint, GLdouble);
extern void ( *_ptrc_glVertexAttribL1dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL2d)(GLuint, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL2dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL3dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
extern void ( *_ptrc_glVertexAttribL4dv)(GLuint, const GLdouble *);
extern void ( *_ptrc_glVertexAttribLPointer)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
extern void ( *_ptrc_glViewportArrayv)(GLuint, GLsizei, const GLfloat *);
extern void ( *_ptrc_glViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
extern void ( *_ptrc_glViewportIndexedfv)(GLuint, const GLfloat *);
extern void ( *_ptrc_glBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum);
extern void ( *_ptrc_glDrawArraysInstancedBaseInstance)(GLenum, GLint, GLsizei, GLsizei, GLuint);
extern void ( *_ptrc_glDrawElementsInstancedBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLuint);
extern void ( *_ptrc_glDrawElementsInstancedBaseVertexBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint, GLuint);
extern void ( *_ptrc_glDrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei);
extern void ( *_ptrc_glDrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei);
extern void ( *_ptrc_glGetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *);
extern void ( *_ptrc_glMemoryBarrier)(GLbitfield);
extern void ( *_ptrc_glTexStorage1D)(GLenum, GLsizei, GLenum, GLsizei);
extern void ( *_ptrc_glTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
extern void ( *_ptrc_glTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
extern void ( *_ptrc_glBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei);
extern void ( *_ptrc_glClearBufferData)(GLenum, GLenum, GLenum, GLenum, const void *);
extern void ( *_ptrc_glClearBufferSubData)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *);
extern void ( *_ptrc_glCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
extern void ( *_ptrc_glDebugMessageCallback)(GLDEBUGPROC, const void *);
extern void ( *_ptrc_glDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean);
extern void ( *_ptrc_glDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *);
extern void ( *_ptrc_glDispatchCompute)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glDispatchComputeIndirect)(GLintptr);
extern void ( *_ptrc_glFramebufferParameteri)(GLenum, GLenum, GLint);
extern GLuint ( *_ptrc_glGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetFramebufferParameteriv)(GLenum, GLenum, GLint *);
extern void ( *_ptrc_glGetInternalformati64v)(GLenum, GLenum, GLenum, GLsizei, GLint64 *);
extern void ( *_ptrc_glGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *);
extern GLuint ( *_ptrc_glGetProgramResourceIndex)(GLuint, GLenum, const GLchar *);
extern GLint ( *_ptrc_glGetProgramResourceLocation)(GLuint, GLenum, const GLchar *);
extern GLint ( *_ptrc_glGetProgramResourceLocationIndex)(GLuint, GLenum, const GLchar *);
extern void ( *_ptrc_glGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
extern void ( *_ptrc_glGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *);
extern void ( *_ptrc_glInvalidateBufferData)(GLuint);
extern void ( *_ptrc_glInvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glInvalidateFramebuffer)(GLenum, GLsizei, const GLenum *);
extern void ( *_ptrc_glInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei);
extern void ( *_ptrc_glInvalidateTexImage)(GLuint, GLint);
extern void ( *_ptrc_glInvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
extern void ( *_ptrc_glMultiDrawArraysIndirect)(GLenum, const void *, GLsizei, GLsizei);
extern void ( *_ptrc_glMultiDrawElementsIndirect)(GLenum, GLenum, const void *, GLsizei, GLsizei);
extern void ( *_ptrc_glObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *);
extern void ( *_ptrc_glObjectPtrLabel)(const void *, GLsizei, const GLchar *);
extern void ( *_ptrc_glPopDebugGroup)(void);
extern void ( *_ptrc_glPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *);
extern void ( *_ptrc_glShaderStorageBlockBinding)(GLuint, GLuint, GLuint);
extern void ( *_ptrc_glTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
extern void ( *_ptrc_glTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
extern void ( *_ptrc_glTextureView)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribBinding)(GLuint, GLuint);
extern void ( *_ptrc_glVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint);
extern void ( *_ptrc_glVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint);
extern void ( *_ptrc_glVertexAttribLFormat)(GLuint, GLint, GLenum, GLuint);
extern void ( *_ptrc_glVertexBindingDivisor)(GLuint, GLuint);
extern void ( *_ptrc_glBindBuffersBase)(GLenum, GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glBindBuffersRange)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *);
extern void ( *_ptrc_glBindImageTextures)(GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glBindSamplers)(GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glBindTextures)(GLuint, GLsizei, const GLuint *);
extern void ( *_ptrc_glBindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *);
extern void ( *_ptrc_glBufferStorage)(GLenum, GLsizeiptr, const void *, GLbitfield);
extern void ( *_ptrc_glClearTexImage)(GLuint, GLint, GLenum, GLenum, const void *);
extern void ( *_ptrc_glClearTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *);
enum ogl_LoadStatus
{
ogl_LOAD_FAILED = 0,
ogl_LOAD_SUCCEEDED = 1
};
int ogl_LoadFunctions(void);
int ogl_GetMinorVersion(void);
int ogl_GetMajorVersion(void);
int ogl_IsVersionGEQ(int majorVersion, int minorVersion);
}
# 2 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h" 1
# 11 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h"
# 1 "/usr/include/X11/Xlib.h" 1 3 4
# 38 "/usr/include/X11/Xlib.h" 3 4
# 1 "/usr/include/sys/types.h" 1 3 4
# 27 "/usr/include/sys/types.h" 3 4
extern "C" {
# 1 "/usr/include/bits/types.h" 1 3 4
# 27 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 28 "/usr/include/bits/types.h" 2 3 4
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
typedef long int __quad_t;
typedef unsigned long int __u_quad_t;
# 130 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 131 "/usr/include/bits/types.h" 2 3 4
typedef unsigned long int __dev_t;
typedef unsigned int __uid_t;
typedef unsigned int __gid_t;
typedef unsigned long int __ino_t;
typedef unsigned long int __ino64_t;
typedef unsigned int __mode_t;
typedef unsigned long int __nlink_t;
typedef long int __off_t;
typedef long int __off64_t;
typedef int __pid_t;
typedef struct { int __val[2]; } __fsid_t;
typedef long int __clock_t;
typedef unsigned long int __rlim_t;
typedef unsigned long int __rlim64_t;
typedef unsigned int __id_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef int __daddr_t;
typedef int __key_t;
typedef int __clockid_t;
typedef void * __timer_t;
typedef long int __blksize_t;
typedef long int __blkcnt_t;
typedef long int __blkcnt64_t;
typedef unsigned long int __fsblkcnt_t;
typedef unsigned long int __fsblkcnt64_t;
typedef unsigned long int __fsfilcnt_t;
typedef unsigned long int __fsfilcnt64_t;
typedef long int __fsword_t;
typedef long int __ssize_t;
typedef long int __syscall_slong_t;
typedef unsigned long int __syscall_ulong_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
typedef long int __intptr_t;
typedef unsigned int __socklen_t;
# 30 "/usr/include/sys/types.h" 2 3 4
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __ino64_t ino64_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __off64_t off64_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
# 132 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/time.h" 1 3 4
# 57 "/usr/include/time.h" 3 4
typedef __clock_t clock_t;
# 73 "/usr/include/time.h" 3 4
typedef __time_t time_t;
# 91 "/usr/include/time.h" 3 4
typedef __clockid_t clockid_t;
# 103 "/usr/include/time.h" 3 4
typedef __timer_t timer_t;
# 133 "/usr/include/sys/types.h" 2 3 4
typedef __useconds_t useconds_t;
typedef __suseconds_t suseconds_t;
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 147 "/usr/include/sys/types.h" 2 3 4
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 200 "/usr/include/sys/types.h" 3 4
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
# 216 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/endian.h" 1 3 4
# 36 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/endian.h" 1 3 4
# 37 "/usr/include/endian.h" 2 3 4
# 60 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/byteswap.h" 1 3 4
# 28 "/usr/include/bits/byteswap.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/byteswap.h" 2 3 4
# 1 "/usr/include/bits/byteswap-16.h" 1 3 4
# 36 "/usr/include/bits/byteswap.h" 2 3 4
# 44 "/usr/include/bits/byteswap.h" 3 4
static __inline unsigned int
__bswap_32 (unsigned int __bsx)
{
return __builtin_bswap32 (__bsx);
}
# 108 "/usr/include/bits/byteswap.h" 3 4
static __inline __uint64_t
__bswap_64 (__uint64_t __bsx)
{
return __builtin_bswap64 (__bsx);
}
# 61 "/usr/include/endian.h" 2 3 4
# 217 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/include/sys/select.h" 1 3 4
# 30 "/usr/include/sys/select.h" 3 4
# 1 "/usr/include/bits/select.h" 1 3 4
# 22 "/usr/include/bits/select.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 23 "/usr/include/bits/select.h" 2 3 4
# 31 "/usr/include/sys/select.h" 2 3 4
# 1 "/usr/include/bits/sigset.h" 1 3 4
# 23 "/usr/include/bits/sigset.h" 3 4
typedef int __sig_atomic_t;
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 34 "/usr/include/sys/select.h" 2 3 4
typedef __sigset_t sigset_t;
# 1 "/usr/include/time.h" 1 3 4
# 120 "/usr/include/time.h" 3 4
struct timespec
{
__time_t tv_sec;
__syscall_slong_t tv_nsec;
};
# 44 "/usr/include/sys/select.h" 2 3 4
# 1 "/usr/include/bits/time.h" 1 3 4
# 30 "/usr/include/bits/time.h" 3 4
struct timeval
{
__time_t tv_sec;
__suseconds_t tv_usec;
};
# 46 "/usr/include/sys/select.h" 2 3 4
# 54 "/usr/include/sys/select.h" 3 4
typedef long int __fd_mask;
# 64 "/usr/include/sys/select.h" 3 4
typedef struct
{
__fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
} fd_set;
typedef __fd_mask fd_mask;
# 96 "/usr/include/sys/select.h" 3 4
extern "C" {
# 106 "/usr/include/sys/select.h" 3 4
extern int select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
struct timeval *__restrict __timeout);
# 118 "/usr/include/sys/select.h" 3 4
extern int pselect (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
const struct timespec *__restrict __timeout,
const __sigset_t *__restrict __sigmask);
# 131 "/usr/include/sys/select.h" 3 4
}
# 220 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/include/sys/sysmacros.h" 1 3 4
# 29 "/usr/include/sys/sysmacros.h" 3 4
extern "C" {
__extension__
extern unsigned int gnu_dev_major (unsigned long long int __dev)
throw () __attribute__ ((__const__));
__extension__
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
throw () __attribute__ ((__const__));
__extension__
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
unsigned int __minor)
throw () __attribute__ ((__const__));
# 63 "/usr/include/sys/sysmacros.h" 3 4
}
# 223 "/usr/include/sys/types.h" 2 3 4
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
# 262 "/usr/include/sys/types.h" 3 4
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
# 21 "/usr/include/bits/pthreadtypes.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 22 "/usr/include/bits/pthreadtypes.h" 2 3 4
# 60 "/usr/include/bits/pthreadtypes.h" 3 4
typedef unsigned long int pthread_t;
union pthread_attr_t
{
char __size[56];
long int __align;
};
typedef union pthread_attr_t pthread_attr_t;
typedef struct __pthread_internal_list
{
struct __pthread_internal_list *__prev;
struct __pthread_internal_list *__next;
} __pthread_list_t;
# 90 "/usr/include/bits/pthreadtypes.h" 3 4
typedef union
{
struct __pthread_mutex_s
{
int __lock;
unsigned int __count;
int __owner;
unsigned int __nusers;
int __kind;
int __spins;
__pthread_list_t __list;
# 115 "/usr/include/bits/pthreadtypes.h" 3 4
} __data;
char __size[40];
long int __align;
} pthread_mutex_t;
typedef union
{
char __size[4];
int __align;
} pthread_mutexattr_t;
typedef union
{
struct
{
int __lock;
unsigned int __futex;
__extension__ unsigned long long int __total_seq;
__extension__ unsigned long long int __wakeup_seq;
__extension__ unsigned long long int __woken_seq;
void *__mutex;
unsigned int __nwaiters;
unsigned int __broadcast_seq;
} __data;
char __size[48];
__extension__ long long int __align;
} pthread_cond_t;
typedef union
{
char __size[4];
int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
struct
{
int __lock;
unsigned int __nr_readers;
unsigned int __readers_wakeup;
unsigned int __writer_wakeup;
unsigned int __nr_readers_queued;
unsigned int __nr_writers_queued;
int __writer;
int __shared;
unsigned long int __pad1;
unsigned long int __pad2;
unsigned int __flags;
} __data;
# 202 "/usr/include/bits/pthreadtypes.h" 3 4
char __size[56];
long int __align;
} pthread_rwlock_t;
typedef union
{
char __size[8];
long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
char __size[32];
long int __align;
} pthread_barrier_t;
typedef union
{
char __size[4];
int __align;
} pthread_barrierattr_t;
# 271 "/usr/include/sys/types.h" 2 3 4
}
# 39 "/usr/include/X11/Xlib.h" 2 3 4
# 1 "/usr/include/X11/X.h" 1 3 4
# 66 "/usr/include/X11/X.h" 3 4
typedef unsigned long XID;
typedef unsigned long Mask;
typedef unsigned long Atom;
typedef unsigned long VisualID;
typedef unsigned long Time;
# 96 "/usr/include/X11/X.h" 3 4
typedef XID Window;
typedef XID Drawable;
typedef XID Font;
typedef XID Pixmap;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;
typedef unsigned char KeyCode;
# 45 "/usr/include/X11/Xlib.h" 2 3 4
# 1 "/usr/include/X11/Xfuncproto.h" 1 3 4
# 48 "/usr/include/X11/Xlib.h" 2 3 4
# 1 "/usr/include/X11/Xosdefs.h" 1 3 4
# 49 "/usr/include/X11/Xlib.h" 2 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 52 "/usr/include/X11/Xlib.h" 2 3 4
# 69 "/usr/include/X11/Xlib.h" 3 4
extern int
_Xmblen(
char *str,
int len
);
# 92 "/usr/include/X11/Xlib.h" 3 4
typedef char *XPointer;
# 160 "/usr/include/X11/Xlib.h" 3 4
typedef struct _XExtData {
int number;
struct _XExtData *next;
int (*free_private)(
struct _XExtData *extension
);
XPointer private_data;
} XExtData;
typedef struct {
int extension;
int major_opcode;
int first_event;
int first_error;
} XExtCodes;
typedef struct {
int depth;
int bits_per_pixel;
int scanline_pad;
} XPixmapFormatValues;
typedef struct {
int function;
unsigned long plane_mask;
unsigned long foreground;
unsigned long background;
int line_width;
int line_style;
int cap_style;
int join_style;
int fill_style;
int fill_rule;
int arc_mode;
Pixmap tile;
Pixmap stipple;
int ts_x_origin;
int ts_y_origin;
Font font;
int subwindow_mode;
int graphics_exposures;
int clip_x_origin;
int clip_y_origin;
Pixmap clip_mask;
int dash_offset;
char dashes;
} XGCValues;
typedef struct _XGC
*GC;
typedef struct {
XExtData *ext_data;
VisualID visualid;
int c_class;
unsigned long red_mask, green_mask, blue_mask;
int bits_per_rgb;
int map_entries;
} Visual;
typedef struct {
int depth;
int nvisuals;
Visual *visuals;
} Depth;
struct _XDisplay;
typedef struct {
XExtData *ext_data;
struct _XDisplay *display;
Window root;
int width, height;
int mwidth, mheight;
int ndepths;
Depth *depths;
int root_depth;
Visual *root_visual;
GC default_gc;
Colormap cmap;
unsigned long white_pixel;
unsigned long black_pixel;
int max_maps, min_maps;
int backing_store;
int save_unders;
long root_input_mask;
} Screen;
typedef struct {
XExtData *ext_data;
int depth;
int bits_per_pixel;
int scanline_pad;
} ScreenFormat;
typedef struct {
Pixmap background_pixmap;
unsigned long background_pixel;
Pixmap border_pixmap;
unsigned long border_pixel;
int bit_gravity;
int win_gravity;
int backing_store;
unsigned long backing_planes;
unsigned long backing_pixel;
int save_under;
long event_mask;
long do_not_propagate_mask;
int override_redirect;
Colormap colormap;
Cursor cursor;
} XSetWindowAttributes;
typedef struct {
int x, y;
int width, height;
int border_width;
int depth;
Visual *visual;
Window root;
int c_class;
int bit_gravity;
int win_gravity;
int backing_store;
unsigned long backing_planes;
unsigned long backing_pixel;
int save_under;
Colormap colormap;
int map_installed;
int map_state;
long all_event_masks;
long your_event_mask;
long do_not_propagate_mask;
int override_redirect;
Screen *screen;
} XWindowAttributes;
typedef struct {
int family;
int length;
char *address;
} XHostAddress;
typedef struct {
int typelength;
int valuelength;
char *type;
char *value;
} XServerInterpretedAddress;
typedef struct _XImage {
int width, height;
int xoffset;
int format;
char *data;
int byte_order;
int bitmap_unit;
int bitmap_bit_order;
int bitmap_pad;
int depth;
int bytes_per_line;
int bits_per_pixel;
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
XPointer obdata;
struct funcs {
struct _XImage *(*create_image)(
struct _XDisplay* ,
Visual* ,
unsigned int ,
int ,
int ,
char* ,
unsigned int ,
unsigned int ,
int ,
int );
int (*destroy_image) (struct _XImage *);
unsigned long (*get_pixel) (struct _XImage *, int, int);
int (*put_pixel) (struct _XImage *, int, int, unsigned long);
struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
int (*add_pixel) (struct _XImage *, long);
} f;
} XImage;
typedef struct {
int x, y;
int width, height;
int border_width;
Window sibling;
int stack_mode;
} XWindowChanges;
typedef struct {
unsigned long pixel;
unsigned short red, green, blue;
char flags;
char pad;
} XColor;
typedef struct {
short x1, y1, x2, y2;
} XSegment;
typedef struct {
short x, y;
} XPoint;
typedef struct {
short x, y;
unsigned short width, height;
} XRectangle;
typedef struct {
short x, y;
unsigned short width, height;
short angle1, angle2;
} XArc;
typedef struct {
int key_click_percent;
int bell_percent;
int bell_pitch;
int bell_duration;
int led;
int led_mode;
int key;
int auto_repeat_mode;
} XKeyboardControl;
typedef struct {
int key_click_percent;
int bell_percent;
unsigned int bell_pitch, bell_duration;
unsigned long led_mask;
int global_auto_repeat;
char auto_repeats[32];
} XKeyboardState;
typedef struct {
Time time;
short x, y;
} XTimeCoord;
typedef struct {
int max_keypermod;
KeyCode *modifiermap;
} XModifierKeymap;
# 499 "/usr/include/X11/Xlib.h" 3 4
typedef struct _XDisplay Display;
struct _XPrivate;
struct _XrmHashBucketRec;
typedef struct
{
XExtData *ext_data;
struct _XPrivate *private1;
int fd;
int private2;
int proto_major_version;
int proto_minor_version;
char *vendor;
XID private3;
XID private4;
XID private5;
int private6;
XID (*resource_alloc)(
struct _XDisplay*
);
int byte_order;
int bitmap_unit;
int bitmap_pad;
int bitmap_bit_order;
int nformats;
ScreenFormat *pixmap_format;
int private8;
int release;
struct _XPrivate *private9, *private10;
int qlen;
unsigned long last_request_read;
unsigned long request;
XPointer private11;
XPointer private12;
XPointer private13;
XPointer private14;
unsigned max_request_size;
struct _XrmHashBucketRec *db;
int (*private15)(
struct _XDisplay*
);
char *display_name;
int default_screen;
int nscreens;
Screen *screens;
unsigned long motion_buffer;
unsigned long private16;
int min_keycode;
int max_keycode;
XPointer private17;
XPointer private18;
int private19;
char *xdefaults;
}
*_XPrivDisplay;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Window root;
Window subwindow;
Time time;
int x, y;
int x_root, y_root;
unsigned int state;
unsigned int keycode;
int same_screen;
} XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Window root;
Window subwindow;
Time time;
int x, y;
int x_root, y_root;
unsigned int state;
unsigned int button;
int same_screen;
} XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Window root;
Window subwindow;
Time time;
int x, y;
int x_root, y_root;
unsigned int state;
char is_hint;
int same_screen;
} XMotionEvent;
typedef XMotionEvent XPointerMovedEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Window root;
Window subwindow;
Time time;
int x, y;
int x_root, y_root;
int mode;
int detail;
int same_screen;
int focus;
unsigned int state;
} XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int mode;
int detail;
} XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
char key_vector[32];
} XKeymapEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int x, y;
int width, height;
int count;
} XExposeEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Drawable drawable;
int x, y;
int width, height;
int count;
int major_code;
int minor_code;
} XGraphicsExposeEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Drawable drawable;
int major_code;
int minor_code;
} XNoExposeEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int state;
} XVisibilityEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window parent;
Window window;
int x, y;
int width, height;
int border_width;
int override_redirect;
} XCreateWindowEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
} XDestroyWindowEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int from_configure;
} XUnmapEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int override_redirect;
} XMapEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window parent;
Window window;
} XMapRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
Window parent;
int x, y;
int override_redirect;
} XReparentEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int x, y;
int width, height;
int border_width;
Window above;
int override_redirect;
} XConfigureEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int x, y;
} XGravityEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int width, height;
} XResizeRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window parent;
Window window;
int x, y;
int width, height;
int border_width;
Window above;
int detail;
unsigned long value_mask;
} XConfigureRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window event;
Window window;
int place;
} XCirculateEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window parent;
Window window;
int place;
} XCirculateRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Atom atom;
Time time;
int state;
} XPropertyEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Atom selection;
Time time;
} XSelectionClearEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window owner;
Window requestor;
Atom selection;
Atom target;
Atom property;
Time time;
} XSelectionRequestEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window requestor;
Atom selection;
Atom target;
Atom property;
Time time;
} XSelectionEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Colormap colormap;
int c_new;
int state;
} XColormapEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
Atom message_type;
int format;
union {
char b[20];
short s[10];
long l[5];
} data;
} XClientMessageEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int request;
int first_keycode;
int count;
} XMappingEvent;
typedef struct {
int type;
Display *display;
XID resourceid;
unsigned long serial;
unsigned char error_code;
unsigned char request_code;
unsigned char minor_code;
} XErrorEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
} XAnyEvent;
typedef struct
{
int type;
unsigned long serial;
int send_event;
Display *display;
int extension;
int evtype;
} XGenericEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
int extension;
int evtype;
unsigned int cookie;
void *data;
} XGenericEventCookie;
typedef union _XEvent {
int type;
XAnyEvent xany;
XKeyEvent xkey;
XButtonEvent xbutton;
XMotionEvent xmotion;
XCrossingEvent xcrossing;
XFocusChangeEvent xfocus;
XExposeEvent xexpose;
XGraphicsExposeEvent xgraphicsexpose;
XNoExposeEvent xnoexpose;
XVisibilityEvent xvisibility;
XCreateWindowEvent xcreatewindow;
XDestroyWindowEvent xdestroywindow;
XUnmapEvent xunmap;
XMapEvent xmap;
XMapRequestEvent xmaprequest;
XReparentEvent xreparent;
XConfigureEvent xconfigure;
XGravityEvent xgravity;
XResizeRequestEvent xresizerequest;
XConfigureRequestEvent xconfigurerequest;
XCirculateEvent xcirculate;
XCirculateRequestEvent xcirculaterequest;
XPropertyEvent xproperty;
XSelectionClearEvent xselectionclear;
XSelectionRequestEvent xselectionrequest;
XSelectionEvent xselection;
XColormapEvent xcolormap;
XClientMessageEvent xclient;
XMappingEvent xmapping;
XErrorEvent xerror;
XKeymapEvent xkeymap;
XGenericEvent xgeneric;
XGenericEventCookie xcookie;
long pad[24];
} XEvent;
typedef struct {
short lbearing;
short rbearing;
short width;
short ascent;
short descent;
unsigned short attributes;
} XCharStruct;
typedef struct {
Atom name;
unsigned long card32;
} XFontProp;
typedef struct {
XExtData *ext_data;
Font fid;
unsigned direction;
unsigned min_char_or_byte2;
unsigned max_char_or_byte2;
unsigned min_byte1;
unsigned max_byte1;
int all_chars_exist;
unsigned default_char;
int n_properties;
XFontProp *properties;
XCharStruct min_bounds;
XCharStruct max_bounds;
XCharStruct *per_char;
int ascent;
int descent;
} XFontStruct;
typedef struct {
char *chars;
int nchars;
int delta;
Font font;
} XTextItem;
typedef struct {
unsigned char byte1;
unsigned char byte2;
} XChar2b;
typedef struct {
XChar2b *chars;
int nchars;
int delta;
Font font;
} XTextItem16;
typedef union { Display *display;
GC gc;
Visual *visual;
Screen *screen;
ScreenFormat *pixmap_format;
XFontStruct *font; } XEDataObject;
typedef struct {
XRectangle max_ink_extent;
XRectangle max_logical_extent;
} XFontSetExtents;
typedef struct _XOM *XOM;
typedef struct _XOC *XOC, *XFontSet;
typedef struct {
char *chars;
int nchars;
int delta;
XFontSet font_set;
} XmbTextItem;
typedef struct {
wchar_t *chars;
int nchars;
int delta;
XFontSet font_set;
} XwcTextItem;
# 1133 "/usr/include/X11/Xlib.h" 3 4
typedef struct {
int charset_count;
char **charset_list;
} XOMCharSetList;
typedef enum {
XOMOrientation_LTR_TTB,
XOMOrientation_RTL_TTB,
XOMOrientation_TTB_LTR,
XOMOrientation_TTB_RTL,
XOMOrientation_Context
} XOrientation;
typedef struct {
int num_orientation;
XOrientation *orientation;
} XOMOrientation;
typedef struct {
int num_font;
XFontStruct **font_struct_list;
char **font_name_list;
} XOMFontInfo;
typedef struct _XIM *XIM;
typedef struct _XIC *XIC;
typedef void (*XIMProc)(
XIM,
XPointer,
XPointer
);
typedef int (*XICProc)(
XIC,
XPointer,
XPointer
);
typedef void (*XIDProc)(
Display*,
XPointer,
XPointer
);
typedef unsigned long XIMStyle;
typedef struct {
unsigned short count_styles;
XIMStyle *supported_styles;
} XIMStyles;
# 1245 "/usr/include/X11/Xlib.h" 3 4
typedef void *XVaNestedList;
typedef struct {
XPointer client_data;
XIMProc callback;
} XIMCallback;
typedef struct {
XPointer client_data;
XICProc callback;
} XICCallback;
typedef unsigned long XIMFeedback;
# 1269 "/usr/include/X11/Xlib.h" 3 4
typedef struct _XIMText {
unsigned short length;
XIMFeedback *feedback;
int encoding_is_wchar;
union {
char *multi_byte;
wchar_t *wide_char;
} string;
} XIMText;
typedef unsigned long XIMPreeditState;
typedef struct _XIMPreeditStateNotifyCallbackStruct {
XIMPreeditState state;
} XIMPreeditStateNotifyCallbackStruct;
typedef unsigned long XIMResetState;
typedef unsigned long XIMStringConversionFeedback;
# 1303 "/usr/include/X11/Xlib.h" 3 4
typedef struct _XIMStringConversionText {
unsigned short length;
XIMStringConversionFeedback *feedback;
int encoding_is_wchar;
union {
char *mbs;
wchar_t *wcs;
} string;
} XIMStringConversionText;
typedef unsigned short XIMStringConversionPosition;
typedef unsigned short XIMStringConversionType;
typedef unsigned short XIMStringConversionOperation;
typedef enum {
XIMForwardChar, XIMBackwardChar,
XIMForwardWord, XIMBackwardWord,
XIMCaretUp, XIMCaretDown,
XIMNextLine, XIMPreviousLine,
XIMLineStart, XIMLineEnd,
XIMAbsolutePosition,
XIMDontChange
} XIMCaretDirection;
typedef struct _XIMStringConversionCallbackStruct {
XIMStringConversionPosition position;
XIMCaretDirection direction;
XIMStringConversionOperation operation;
unsigned short factor;
XIMStringConversionText *text;
} XIMStringConversionCallbackStruct;
typedef struct _XIMPreeditDrawCallbackStruct {
int caret;
int chg_first;
int chg_length;
XIMText *text;
} XIMPreeditDrawCallbackStruct;
typedef enum {
XIMIsInvisible,
XIMIsPrimary,
XIMIsSecondary
} XIMCaretStyle;
typedef struct _XIMPreeditCaretCallbackStruct {
int position;
XIMCaretDirection direction;
XIMCaretStyle style;
} XIMPreeditCaretCallbackStruct;
typedef enum {
XIMTextType,
XIMBitmapType
} XIMStatusDataType;
typedef struct _XIMStatusDrawCallbackStruct {
XIMStatusDataType type;
union {
XIMText *text;
Pixmap bitmap;
} data;
} XIMStatusDrawCallbackStruct;
typedef struct _XIMHotKeyTrigger {
KeySym keysym;
int modifier;
int modifier_mask;
} XIMHotKeyTrigger;
typedef struct _XIMHotKeyTriggers {
int num_hot_key;
XIMHotKeyTrigger *key;
} XIMHotKeyTriggers;
typedef unsigned long XIMHotKeyState;
typedef struct {
unsigned short count_values;
char **supported_values;
} XIMValuesList;
extern "C" {
extern int _Xdebug;
extern XFontStruct *XLoadQueryFont(
Display* ,
const char*
);
extern XFontStruct *XQueryFont(
Display* ,
XID
);
extern XTimeCoord *XGetMotionEvents(
Display* ,
Window ,
Time ,
Time ,
int*
);
extern XModifierKeymap *XDeleteModifiermapEntry(
XModifierKeymap* ,
KeyCode ,
int
);
extern XModifierKeymap *XGetModifierMapping(
Display*
);
extern XModifierKeymap *XInsertModifiermapEntry(
XModifierKeymap* ,
KeyCode ,
int
);
extern XModifierKeymap *XNewModifiermap(
int
);
extern XImage *XCreateImage(
Display* ,
Visual* ,
unsigned int ,
int ,
int ,
char* ,
unsigned int ,
unsigned int ,
int ,
int
);
extern int XInitImage(
XImage*
);
extern XImage *XGetImage(
Display* ,
Drawable ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned long ,
int
);
extern XImage *XGetSubImage(
Display* ,
Drawable ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned long ,
int ,
XImage* ,
int ,
int
);
extern Display *XOpenDisplay(
const char*
);
extern void XrmInitialize(
void
);
extern char *XFetchBytes(
Display* ,
int*
);
extern char *XFetchBuffer(
Display* ,
int* ,
int
);
extern char *XGetAtomName(
Display* ,
Atom
);
extern int XGetAtomNames(
Display* ,
Atom* ,
int ,
char**
);
extern char *XGetDefault(
Display* ,
const char* ,
const char*
);
extern char *XDisplayName(
const char*
);
extern char *XKeysymToString(
KeySym
);
extern int (*XSynchronize(
Display* ,
int
))(
Display*
);
extern int (*XSetAfterFunction(
Display* ,
int (*) (
Display*
)
))(
Display*
);
extern Atom XInternAtom(
Display* ,
const char* ,
int
);
extern int XInternAtoms(
Display* ,
char** ,
int ,
int ,
Atom*
);
extern Colormap XCopyColormapAndFree(
Display* ,
Colormap
);
extern Colormap XCreateColormap(
Display* ,
Window ,
Visual* ,
int
);
extern Cursor XCreatePixmapCursor(
Display* ,
Pixmap ,
Pixmap ,
XColor* ,
XColor* ,
unsigned int ,
unsigned int
);
extern Cursor XCreateGlyphCursor(
Display* ,
Font ,
Font ,
unsigned int ,
unsigned int ,
XColor const * ,
XColor const *
);
extern Cursor XCreateFontCursor(
Display* ,
unsigned int
);
extern Font XLoadFont(
Display* ,
const char*
);
extern GC XCreateGC(
Display* ,
Drawable ,
unsigned long ,
XGCValues*
);
extern GContext XGContextFromGC(
GC
);
extern void XFlushGC(
Display* ,
GC
);
extern Pixmap XCreatePixmap(
Display* ,
Drawable ,
unsigned int ,
unsigned int ,
unsigned int
);
extern Pixmap XCreateBitmapFromData(
Display* ,
Drawable ,
const char* ,
unsigned int ,
unsigned int
);
extern Pixmap XCreatePixmapFromBitmapData(
Display* ,
Drawable ,
char* ,
unsigned int ,
unsigned int ,
unsigned long ,
unsigned long ,
unsigned int
);
extern Window XCreateSimpleWindow(
Display* ,
Window ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned long ,
unsigned long
);
extern Window XGetSelectionOwner(
Display* ,
Atom
);
extern Window XCreateWindow(
Display* ,
Window ,
int ,
int ,
unsigned int ,
unsigned int ,
unsigned int ,
int ,
unsigned int ,
Visual* ,
unsigned long ,
XSetWindowAttributes*
);
extern Colormap *XListInstalledColormaps(
Display* ,
Window ,
int*
);
extern char **XListFonts(
Display* ,
const char* ,
int ,
int*
);
extern char **XListFontsWithInfo(
Display* ,
const char* ,
int ,
int* ,
XFontStruct**
);
extern char **XGetFontPath(
Display* ,
int*
);
extern char **XListExtensions(
Display* ,
int*
);
extern Atom *XListProperties(
Display* ,
Window ,
int*
);
extern XHostAddress *XListHosts(
Display* ,
int* ,
int*
);
__attribute__((deprecated))
extern KeySym XKeycodeToKeysym(
Display* ,
KeyCode ,
int
);
extern KeySym XLookupKeysym(
XKeyEvent* ,
int
);
extern KeySym *XGetKeyboardMapping(
Display* ,
KeyCode ,
int ,
int*
);
extern KeySym XStringToKeysym(
const char*
);
extern long XMaxRequestSize(
Display*
);
extern long XExtendedMaxRequestSize(
Display*
);
extern char *XResourceManagerString(
Display*
);
extern char *XScreenResourceString(
Screen*
);
extern unsigned long XDisplayMotionBufferSize(
Display*
);
extern VisualID XVisualIDFromVisual(
Visual*
);
extern int XInitThreads(
void
);
extern void XLockDisplay(
Display*
);
extern void XUnlockDisplay(
Display*
);
extern XExtCodes *XInitExtension(
Display* ,
const char*
);
extern XExtCodes *XAddExtension(
Display*
);
extern XExtData *XFindOnExtensionList(
XExtData** ,
int
);
extern XExtData **XEHeadOfExtensionList(
XEDataObject
);
extern Window XRootWindow(
Display* ,
int
);
extern Window XDefaultRootWindow(
Display*
);
extern Window XRootWindowOfScreen(
Screen*
);
extern Visual *XDefaultVisual(
Display* ,
int
);
extern Visual *XDefaultVisualOfScreen(
Screen*
);
extern GC XDefaultGC(
Display* ,
int
);
extern GC XDefaultGCOfScreen(
Screen*
);
extern unsigned long XBlackPixel(
Display* ,
int
);
extern unsigned long XWhitePixel(
Display* ,
int
);
extern unsigned long XAllPlanes(
void
);
extern unsigned long XBlackPixelOfScreen(
Screen*
);
extern unsigned long XWhitePixelOfScreen(
Screen*
);
extern unsigned long XNextRequest(
Display*
);
extern unsigned long XLastKnownRequestProcessed(
Display*
);
extern char *XServerVendor(
Display*
);
extern char *XDisplayString(
Display*
);
extern Colormap XDefaultColormap(
Display* ,
int
);
extern Colormap XDefaultColormapOfScreen(
Screen*
);
extern Display *XDisplayOfScreen(
Screen*
);
extern Screen *XScreenOfDisplay(
Display* ,
int
);
extern Screen *XDefaultScreenOfDisplay(
Display*
);
extern long XEventMaskOfScreen(
Screen*
);
extern int XScreenNumberOfScreen(
Screen*
);
typedef int (*XErrorHandler) (
Display* ,
XErrorEvent*
);
extern XErrorHandler XSetErrorHandler (
XErrorHandler
);
typedef int (*XIOErrorHandler) (
Display*
);
extern XIOErrorHandler XSetIOErrorHandler (
XIOErrorHandler
);
extern XPixmapFormatValues *XListPixmapFormats(
Display* ,
int*
);
extern int *XListDepths(
Display* ,
int ,
int*
);
extern int XReconfigureWMWindow(
Display* ,
Window ,
int ,
unsigned int ,
XWindowChanges*
);
extern int XGetWMProtocols(
Display* ,
Window ,
Atom** ,
int*
);
extern int XSetWMProtocols(
Display* ,
Window ,
Atom* ,
int
);
extern int XIconifyWindow(
Display* ,
Window ,
int
);
extern int XWithdrawWindow(
Display* ,
Window ,
int
);
extern int XGetCommand(
Display* ,
Window ,
char*** ,
int*
);
extern int XGetWMColormapWindows(
Display* ,
Window ,
Window** ,
int*
);
extern int XSetWMColormapWindows(
Display* ,
Window ,
Window* ,
int
);
extern void XFreeStringList(
char**
);
extern int XSetTransientForHint(
Display* ,
Window ,
Window
);
extern int XActivateScreenSaver(
Display*
);
extern int XAddHost(
Display* ,
XHostAddress*
);
extern int XAddHosts(
Display* ,
XHostAddress* ,
int
);
extern int XAddToExtensionList(
struct _XExtData** ,
XExtData*
);
extern int XAddToSaveSet(
Display* ,
Window
);
extern int XAllocColor(
Display* ,
Colormap ,
XColor*
);
extern int XAllocColorCells(
Display* ,
Colormap ,
int ,
unsigned long* ,
unsigned int ,
unsigned long* ,
unsigned int
);
extern int XAllocColorPlanes(
Display* ,
Colormap ,
int ,
unsigned long* ,
int ,
int ,
int ,
int ,
unsigned long* ,
unsigned long* ,
unsigned long*
);
extern int XAllocNamedColor(
Display* ,
Colormap ,
const char* ,
XColor* ,
XColor*
);
extern int XAllowEvents(
Display* ,
int ,
Time
);
extern int XAutoRepeatOff(
Display*
);
extern int XAutoRepeatOn(
Display*
);
extern int XBell(
Display* ,
int
);
extern int XBitmapBitOrder(
Display*
);
extern int XBitmapPad(
Display*
);
extern int XBitmapUnit(
Display*
);
extern int XCellsOfScreen(
Screen*
);
extern int XChangeActivePointerGrab(
Display* ,
unsigned int ,
Cursor ,
Time
);
extern int XChangeGC(
Display* ,
GC ,
unsigned long ,
XGCValues*
);
extern int XChangeKeyboardControl(
Display* ,
unsigned long ,
XKeyboardControl*
);
extern int XChangeKeyboardMapping(
Display* ,
int ,
int ,
KeySym* ,
int
);
extern int XChangePointerControl(
Display* ,
int ,
int ,
int ,
int ,
int
);
extern int XChangeProperty(
Display* ,
Window ,
Atom ,
Atom ,
int ,
int ,
const unsigned char* ,
int
);
extern int XChangeSaveSet(
Display* ,
Window ,
int
);
extern int XChangeWindowAttributes(
Display* ,
Window ,
unsigned long ,
XSetWindowAttributes*
);
extern int XCheckIfEvent(
Display* ,
XEvent* ,
int (*) (
Display* ,
XEvent* ,
XPointer
) ,
XPointer
);
extern int XCheckMaskEvent(
Display* ,
long ,
XEvent*
);
extern int XCheckTypedEvent(
Display* ,
int ,
XEvent*
);
extern int XCheckTypedWindowEvent(
Display* ,
Window ,
int ,
XEvent*
);
extern int XCheckWindowEvent(
Display* ,
Window ,
long ,
XEvent*
);
extern int XCirculateSubwindows(
Display* ,
Window ,
int
);
extern int XCirculateSubwindowsDown(
Display* ,
Window
);
extern int XCirculateSubwindowsUp(
Display* ,
Window
);
extern int XClearArea(
Display* ,
Window ,
int ,
int ,
unsigned int ,
unsigned int ,
int
);
extern int XClearWindow(
Display* ,
Window
);
extern int XCloseDisplay(
Display*
);
extern int XConfigureWindow(
Display* ,
Window ,
unsigned int ,
XWindowChanges*
);
extern int XConnectionNumber(
Display*
);
extern int XConvertSelection(
Display* ,
Atom ,
Atom ,
Atom ,
Window ,
Time
);
extern int XCopyArea(
Display* ,
Drawable ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int
);
extern int XCopyGC(
Display* ,
GC ,
unsigned long ,
GC
);
extern int XCopyPlane(
Display* ,
Drawable ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int ,
unsigned long
);
extern int XDefaultDepth(
Display* ,
int
);
extern int XDefaultDepthOfScreen(
Screen*
);
extern int XDefaultScreen(
Display*
);
extern int XDefineCursor(
Display* ,
Window ,
Cursor
);
extern int XDeleteProperty(
Display* ,
Window ,
Atom
);
extern int XDestroyWindow(
Display* ,
Window
);
extern int XDestroySubwindows(
Display* ,
Window
);
extern int XDoesBackingStore(
Screen*
);
extern int XDoesSaveUnders(
Screen*
);
extern int XDisableAccessControl(
Display*
);
extern int XDisplayCells(
Display* ,
int
);
extern int XDisplayHeight(
Display* ,
int
);
extern int XDisplayHeightMM(
Display* ,
int
);
extern int XDisplayKeycodes(
Display* ,
int* ,
int*
);
extern int XDisplayPlanes(
Display* ,
int
);
extern int XDisplayWidth(
Display* ,
int
);
extern int XDisplayWidthMM(
Display* ,
int
);
extern int XDrawArc(
Display* ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int
);
extern int XDrawArcs(
Display* ,
Drawable ,
GC ,
XArc* ,
int
);
extern int XDrawImageString(
Display* ,
Drawable ,
GC ,
int ,
int ,
const char* ,
int
);
extern int XDrawImageString16(
Display* ,
Drawable ,
GC ,
int ,
int ,
const XChar2b* ,
int
);
extern int XDrawLine(
Display* ,
Drawable ,
GC ,
int ,
int ,
int ,
int
);
extern int XDrawLines(
Display* ,
Drawable ,
GC ,
XPoint* ,
int ,
int
);
extern int XDrawPoint(
Display* ,
Drawable ,
GC ,
int ,
int
);
extern int XDrawPoints(
Display* ,
Drawable ,
GC ,
XPoint* ,
int ,
int
);
extern int XDrawRectangle(
Display* ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int
);
extern int XDrawRectangles(
Display* ,
Drawable ,
GC ,
XRectangle* ,
int
);
extern int XDrawSegments(
Display* ,
Drawable ,
GC ,
XSegment* ,
int
);
extern int XDrawString(
Display* ,
Drawable ,
GC ,
int ,
int ,
const char* ,
int
);
extern int XDrawString16(
Display* ,
Drawable ,
GC ,
int ,
int ,
const XChar2b* ,
int
);
extern int XDrawText(
Display* ,
Drawable ,
GC ,
int ,
int ,
XTextItem* ,
int
);
extern int XDrawText16(
Display* ,
Drawable ,
GC ,
int ,
int ,
XTextItem16* ,
int
);
extern int XEnableAccessControl(
Display*
);
extern int XEventsQueued(
Display* ,
int
);
extern int XFetchName(
Display* ,
Window ,
char**
);
extern int XFillArc(
Display* ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int
);
extern int XFillArcs(
Display* ,
Drawable ,
GC ,
XArc* ,
int
);
extern int XFillPolygon(
Display* ,
Drawable ,
GC ,
XPoint* ,
int ,
int ,
int
);
extern int XFillRectangle(
Display* ,
Drawable ,
GC ,
int ,
int ,
unsigned int ,
unsigned int
);
extern int XFillRectangles(
Display* ,
Drawable ,
GC ,
XRectangle* ,
int
);
extern int XFlush(
Display*
);
extern int XForceScreenSaver(
Display* ,
int
);
extern int XFree(
void*
);
extern int XFreeColormap(
Display* ,
Colormap
);
extern int XFreeColors(
Display* ,
Colormap ,
unsigned long* ,
int ,
unsigned long
);
extern int XFreeCursor(
Display* ,
Cursor
);
extern int XFreeExtensionList(
char**
);
extern int XFreeFont(
Display* ,
XFontStruct*
);
extern int XFreeFontInfo(
char** ,
XFontStruct* ,
int
);
extern int XFreeFontNames(
char**
);
extern int XFreeFontPath(
char**
);
extern int XFreeGC(
Display* ,
GC
);
extern int XFreeModifiermap(
XModifierKeymap*
);
extern int XFreePixmap(
Display* ,
Pixmap
);
extern int XGeometry(
Display* ,
int ,
const char* ,
const char* ,
unsigned int ,
unsigned int ,
unsigned int ,
int ,
int ,
int* ,
int* ,
int* ,
int*
);
extern int XGetErrorDatabaseText(
Display* ,
const char* ,
const char* ,
const char* ,
char* ,
int
);
extern int XGetErrorText(
Display* ,
int ,
char* ,
int
);
extern int XGetFontProperty(
XFontStruct* ,
Atom ,
unsigned long*
);
extern int XGetGCValues(
Display* ,
GC ,
unsigned long ,
XGCValues*
);
extern int XGetGeometry(
Display* ,
Drawable ,
Window* ,
int* ,
int* ,
unsigned int* ,
unsigned int* ,
unsigned int* ,
unsigned int*
);
extern int XGetIconName(
Display* ,
Window ,
char**
);
extern int XGetInputFocus(
Display* ,
Window* ,
int*
);
extern int XGetKeyboardControl(
Display* ,
XKeyboardState*
);
extern int XGetPointerControl(
Display* ,
int* ,
int* ,
int*
);
extern int XGetPointerMapping(
Display* ,
unsigned char* ,
int
);
extern int XGetScreenSaver(
Display* ,
int* ,
int* ,
int* ,
int*
);
extern int XGetTransientForHint(
Display* ,
Window ,
Window*
);
extern int XGetWindowProperty(
Display* ,
Window ,
Atom ,
long ,
long ,
int ,
Atom ,
Atom* ,
int* ,
unsigned long* ,
unsigned long* ,
unsigned char**
);
extern int XGetWindowAttributes(
Display* ,
Window ,
XWindowAttributes*
);
extern int XGrabButton(
Display* ,
unsigned int ,
unsigned int ,
Window ,
int ,
unsigned int ,
int ,
int ,
Window ,
Cursor
);
extern int XGrabKey(
Display* ,
int ,
unsigned int ,
Window ,
int ,
int ,
int
);
extern int XGrabKeyboard(
Display* ,
Window ,
int ,
int ,
int ,
Time
);
extern int XGrabPointer(
Display* ,
Window ,
int ,
unsigned int ,
int ,
int ,
Window ,
Cursor ,
Time
);
extern int XGrabServer(
Display*
);
extern int XHeightMMOfScreen(
Screen*
);
extern int XHeightOfScreen(
Screen*
);
extern int XIfEvent(
Display* ,
XEvent* ,
int (*) (
Display* ,
XEvent* ,
XPointer
) ,
XPointer
);
extern int XImageByteOrder(
Display*
);
extern int XInstallColormap(
Display* ,
Colormap
);
extern KeyCode XKeysymToKeycode(
Display* ,
KeySym
);
extern int XKillClient(
Display* ,
XID
);
extern int XLookupColor(
Display* ,
Colormap ,
const char* ,
XColor* ,
XColor*
);
extern int XLowerWindow(
Display* ,
Window
);
extern int XMapRaised(
Display* ,
Window
);
extern int XMapSubwindows(
Display* ,
Window
);
extern int XMapWindow(
Display* ,
Window
);
extern int XMaskEvent(
Display* ,
long ,
XEvent*
);
extern int XMaxCmapsOfScreen(
Screen*
);
extern int XMinCmapsOfScreen(
Screen*
);
extern int XMoveResizeWindow(
Display* ,
Window ,
int ,
int ,
unsigned int ,
unsigned int
);
extern int XMoveWindow(
Display* ,
Window ,
int ,
int
);
extern int XNextEvent(
Display* ,
XEvent*
);
extern int XNoOp(
Display*
);
extern int XParseColor(
Display* ,
Colormap ,
const char* ,
XColor*
);
extern int XParseGeometry(
const char* ,
int* ,
int* ,
unsigned int* ,
unsigned int*
);
extern int XPeekEvent(
Display* ,
XEvent*
);
extern int XPeekIfEvent(
Display* ,
XEvent* ,
int (*) (
Display* ,
XEvent* ,
XPointer
) ,
XPointer
);
extern int XPending(
Display*
);
extern int XPlanesOfScreen(
Screen*
);
extern int XProtocolRevision(
Display*
);
extern int XProtocolVersion(
Display*
);
extern int XPutBackEvent(
Display* ,
XEvent*
);
extern int XPutImage(
Display* ,
Drawable ,
GC ,
XImage* ,
int ,
int ,
int ,
int ,
unsigned int ,
unsigned int
);
extern int XQLength(
Display*
);
extern int XQueryBestCursor(
Display* ,
Drawable ,
unsigned int ,
unsigned int ,
unsigned int* ,
unsigned int*
);
extern int XQueryBestSize(
Display* ,
int ,
Drawable ,
unsigned int ,
unsigned int ,
unsigned int* ,
unsigned int*
);
extern int XQueryBestStipple(
Display* ,
Drawable ,
unsigned int ,
unsigned int ,
unsigned int* ,
unsigned int*
);
extern int XQueryBestTile(
Display* ,
Drawable ,
unsigned int ,
unsigned int ,
unsigned int* ,
unsigned int*
);
extern int XQueryColor(
Display* ,
Colormap ,
XColor*
);
extern int XQueryColors(
Display* ,
Colormap ,
XColor* ,
int
);
extern int XQueryExtension(
Display* ,
const char* ,
int* ,
int* ,
int*
);
extern int XQueryKeymap(
Display* ,
char [32]
);
extern int XQueryPointer(
Display* ,
Window ,
Window* ,
Window* ,
int* ,
int* ,
int* ,
int* ,
unsigned int*
);
extern int XQueryTextExtents(
Display* ,
XID ,
const char* ,
int ,
int* ,
int* ,
int* ,
XCharStruct*
);
extern int XQueryTextExtents16(
Display* ,
XID ,
const XChar2b* ,
int ,
int* ,
int* ,
int* ,
XCharStruct*
);
extern int XQueryTree(
Display* ,
Window ,
Window* ,
Window* ,
Window** ,
unsigned int*
);
extern int XRaiseWindow(
Display* ,
Window
);
extern int XReadBitmapFile(
Display* ,
Drawable ,
const char* ,
unsigned int* ,
unsigned int* ,
Pixmap* ,
int* ,
int*
);
extern int XReadBitmapFileData(
const char* ,
unsigned int* ,
unsigned int* ,
unsigned char** ,
int* ,
int*
);
extern int XRebindKeysym(
Display* ,
KeySym ,
KeySym* ,
int ,
const unsigned char* ,
int
);
extern int XRecolorCursor(
Display* ,
Cursor ,
XColor* ,
XColor*
);
extern int XRefreshKeyboardMapping(
XMappingEvent*
);
extern int XRemoveFromSaveSet(
Display* ,
Window
);
extern int XRemoveHost(
Display* ,
XHostAddress*
);
extern int XRemoveHosts(
Display* ,
XHostAddress* ,
int
);
extern int XReparentWindow(
Display* ,
Window ,
Window ,
int ,
int
);
extern int XResetScreenSaver(
Display*
);
extern int XResizeWindow(
Display* ,
Window ,
unsigned int ,
unsigned int
);
extern int XRestackWindows(
Display* ,
Window* ,
int
);
extern int XRotateBuffers(
Display* ,
int
);
extern int XRotateWindowProperties(
Display* ,
Window ,
Atom* ,
int ,
int
);
extern int XScreenCount(
Display*
);
extern int XSelectInput(
Display* ,
Window ,
long
);
extern int XSendEvent(
Display* ,
Window ,
int ,
long ,
XEvent*
);
extern int XSetAccessControl(
Display* ,
int
);
extern int XSetArcMode(
Display* ,
GC ,
int
);
extern int XSetBackground(
Display* ,
GC ,
unsigned long
);
extern int XSetClipMask(
Display* ,
GC ,
Pixmap
);
extern int XSetClipOrigin(
Display* ,
GC ,
int ,
int
);
extern int XSetClipRectangles(
Display* ,
GC ,
int ,
int ,
XRectangle* ,
int ,
int
);
extern int XSetCloseDownMode(
Display* ,
int
);
extern int XSetCommand(
Display* ,
Window ,
char** ,
int
);
extern int XSetDashes(
Display* ,
GC ,
int ,
const char* ,
int
);
extern int XSetFillRule(
Display* ,
GC ,
int
);
extern int XSetFillStyle(
Display* ,
GC ,
int
);
extern int XSetFont(
Display* ,
GC ,
Font
);
extern int XSetFontPath(
Display* ,
char** ,
int
);
extern int XSetForeground(
Display* ,
GC ,
unsigned long
);
extern int XSetFunction(
Display* ,
GC ,
int
);
extern int XSetGraphicsExposures(
Display* ,
GC ,
int
);
extern int XSetIconName(
Display* ,
Window ,
const char*
);
extern int XSetInputFocus(
Display* ,
Window ,
int ,
Time
);
extern int XSetLineAttributes(
Display* ,
GC ,
unsigned int ,
int ,
int ,
int
);
extern int XSetModifierMapping(
Display* ,
XModifierKeymap*
);
extern int XSetPlaneMask(
Display* ,
GC ,
unsigned long
);
extern int XSetPointerMapping(
Display* ,
const unsigned char* ,
int
);
extern int XSetScreenSaver(
Display* ,
int ,
int ,
int ,
int
);
extern int XSetSelectionOwner(
Display* ,
Atom ,
Window ,
Time
);
extern int XSetState(
Display* ,
GC ,
unsigned long ,
unsigned long ,
int ,
unsigned long
);
extern int XSetStipple(
Display* ,
GC ,
Pixmap
);
extern int XSetSubwindowMode(
Display* ,
GC ,
int
);
extern int XSetTSOrigin(
Display* ,
GC ,
int ,
int
);
extern int XSetTile(
Display* ,
GC ,
Pixmap
);
extern int XSetWindowBackground(
Display* ,
Window ,
unsigned long
);
extern int XSetWindowBackgroundPixmap(
Display* ,
Window ,
Pixmap
);
extern int XSetWindowBorder(
Display* ,
Window ,
unsigned long
);
extern int XSetWindowBorderPixmap(
Display* ,
Window ,
Pixmap
);
extern int XSetWindowBorderWidth(
Display* ,
Window ,
unsigned int
);
extern int XSetWindowColormap(
Display* ,
Window ,
Colormap
);
extern int XStoreBuffer(
Display* ,
const char* ,
int ,
int
);
extern int XStoreBytes(
Display* ,
const char* ,
int
);
extern int XStoreColor(
Display* ,
Colormap ,
XColor*
);
extern int XStoreColors(
Display* ,
Colormap ,
XColor* ,
int
);
extern int XStoreName(
Display* ,
Window ,
const char*
);
extern int XStoreNamedColor(
Display* ,
Colormap ,
const char* ,
unsigned long ,
int
);
extern int XSync(
Display* ,
int
);
extern int XTextExtents(
XFontStruct* ,
const char* ,
int ,
int* ,
int* ,
int* ,
XCharStruct*
);
extern int XTextExtents16(
XFontStruct* ,
const XChar2b* ,
int ,
int* ,
int* ,
int* ,
XCharStruct*
);
extern int XTextWidth(
XFontStruct* ,
const char* ,
int
);
extern int XTextWidth16(
XFontStruct* ,
const XChar2b* ,
int
);
extern int XTranslateCoordinates(
Display* ,
Window ,
Window ,
int ,
int ,
int* ,
int* ,
Window*
);
extern int XUndefineCursor(
Display* ,
Window
);
extern int XUngrabButton(
Display* ,
unsigned int ,
unsigned int ,
Window
);
extern int XUngrabKey(
Display* ,
int ,
unsigned int ,
Window
);
extern int XUngrabKeyboard(
Display* ,
Time
);
extern int XUngrabPointer(
Display* ,
Time
);
extern int XUngrabServer(
Display*
);
extern int XUninstallColormap(
Display* ,
Colormap
);
extern int XUnloadFont(
Display* ,
Font
);
extern int XUnmapSubwindows(
Display* ,
Window
);
extern int XUnmapWindow(
Display* ,
Window
);
extern int XVendorRelease(
Display*
);
extern int XWarpPointer(
Display* ,
Window ,
Window ,
int ,
int ,
unsigned int ,
unsigned int ,
int ,
int
);
extern int XWidthMMOfScreen(
Screen*
);
extern int XWidthOfScreen(
Screen*
);
extern int XWindowEvent(
Display* ,
Window ,
long ,
XEvent*
);
extern int XWriteBitmapFile(
Display* ,
const char* ,
Pixmap ,
unsigned int ,
unsigned int ,
int ,
int
);
extern int XSupportsLocale (void);
extern char *XSetLocaleModifiers(
const char*
);
extern XOM XOpenOM(
Display* ,
struct _XrmHashBucketRec* ,
const char* ,
const char*
);
extern int XCloseOM(
XOM
);
extern char *XSetOMValues(
XOM ,
...
) __attribute__ ((__sentinel__(0)));
extern char *XGetOMValues(
XOM ,
...
) __attribute__ ((__sentinel__(0)));
extern Display *XDisplayOfOM(
XOM
);
extern char *XLocaleOfOM(
XOM
);
extern XOC XCreateOC(
XOM ,
...
) __attribute__ ((__sentinel__(0)));
extern void XDestroyOC(
XOC
);
extern XOM XOMOfOC(
XOC
);
extern char *XSetOCValues(
XOC ,
...
) __attribute__ ((__sentinel__(0)));
extern char *XGetOCValues(
XOC ,
...
) __attribute__ ((__sentinel__(0)));
extern XFontSet XCreateFontSet(
Display* ,
const char* ,
char*** ,
int* ,
char**
);
extern void XFreeFontSet(
Display* ,
XFontSet
);
extern int XFontsOfFontSet(
XFontSet ,
XFontStruct*** ,
char***
);
extern char *XBaseFontNameListOfFontSet(
XFontSet
);
extern char *XLocaleOfFontSet(
XFontSet
);
extern int XContextDependentDrawing(
XFontSet
);
extern int XDirectionalDependentDrawing(
XFontSet
);
extern int XContextualDrawing(
XFontSet
);
extern XFontSetExtents *XExtentsOfFontSet(
XFontSet
);
extern int XmbTextEscapement(
XFontSet ,
const char* ,
int
);
extern int XwcTextEscapement(
XFontSet ,
const wchar_t* ,
int
);
extern int Xutf8TextEscapement(
XFontSet ,
const char* ,
int
);
extern int XmbTextExtents(
XFontSet ,
const char* ,
int ,
XRectangle* ,
XRectangle*
);
extern int XwcTextExtents(
XFontSet ,
const wchar_t* ,
int ,
XRectangle* ,
XRectangle*
);
extern int Xutf8TextExtents(
XFontSet ,
const char* ,
int ,
XRectangle* ,
XRectangle*
);
extern int XmbTextPerCharExtents(
XFontSet ,
const char* ,
int ,
XRectangle* ,
XRectangle* ,
int ,
int* ,
XRectangle* ,
XRectangle*
);
extern int XwcTextPerCharExtents(
XFontSet ,
const wchar_t* ,
int ,
XRectangle* ,
XRectangle* ,
int ,
int* ,
XRectangle* ,
XRectangle*
);
extern int Xutf8TextPerCharExtents(
XFontSet ,
const char* ,
int ,
XRectangle* ,
XRectangle* ,
int ,
int* ,
XRectangle* ,
XRectangle*
);
extern void XmbDrawText(
Display* ,
Drawable ,
GC ,
int ,
int ,
XmbTextItem* ,
int
);
extern void XwcDrawText(
Display* ,
Drawable ,
GC ,
int ,
int ,
XwcTextItem* ,
int
);
extern void Xutf8DrawText(
Display* ,
Drawable ,
GC ,
int ,
int ,
XmbTextItem* ,
int
);
extern void XmbDrawString(
Display* ,
Drawable ,
XFontSet ,
GC ,
int ,
int ,
const char* ,
int
);
extern void XwcDrawString(
Display* ,
Drawable ,
XFontSet ,
GC ,
int ,
int ,
const wchar_t* ,
int
);
extern void Xutf8DrawString(
Display* ,
Drawable ,
XFontSet ,
GC ,
int ,
int ,
const char* ,
int
);
extern void XmbDrawImageString(
Display* ,
Drawable ,
XFontSet ,
GC ,
int ,
int ,
const char* ,
int
);
extern void XwcDrawImageString(
Display* ,
Drawable ,
XFontSet ,
GC ,
int ,
int ,
const wchar_t* ,
int
);
extern void Xutf8DrawImageString(
Display* ,
Drawable ,
XFontSet ,
GC ,
int ,
int ,
const char* ,
int
);
extern XIM XOpenIM(
Display* ,
struct _XrmHashBucketRec* ,
char* ,
char*
);
extern int XCloseIM(
XIM
);
extern char *XGetIMValues(
XIM , ...
) __attribute__ ((__sentinel__(0)));
extern char *XSetIMValues(
XIM , ...
) __attribute__ ((__sentinel__(0)));
extern Display *XDisplayOfIM(
XIM
);
extern char *XLocaleOfIM(
XIM
);
extern XIC XCreateIC(
XIM , ...
) __attribute__ ((__sentinel__(0)));
extern void XDestroyIC(
XIC
);
extern void XSetICFocus(
XIC
);
extern void XUnsetICFocus(
XIC
);
extern wchar_t *XwcResetIC(
XIC
);
extern char *XmbResetIC(
XIC
);
extern char *Xutf8ResetIC(
XIC
);
extern char *XSetICValues(
XIC , ...
) __attribute__ ((__sentinel__(0)));
extern char *XGetICValues(
XIC , ...
) __attribute__ ((__sentinel__(0)));
extern XIM XIMOfIC(
XIC
);
extern int XFilterEvent(
XEvent* ,
Window
);
extern int XmbLookupString(
XIC ,
XKeyPressedEvent* ,
char* ,
int ,
KeySym* ,
int*
);
extern int XwcLookupString(
XIC ,
XKeyPressedEvent* ,
wchar_t* ,
int ,
KeySym* ,
int*
);
extern int Xutf8LookupString(
XIC ,
XKeyPressedEvent* ,
char* ,
int ,
KeySym* ,
int*
);
extern XVaNestedList XVaCreateNestedList(
int , ...
) __attribute__ ((__sentinel__(0)));
extern int XRegisterIMInstantiateCallback(
Display* ,
struct _XrmHashBucketRec* ,
char* ,
char* ,
XIDProc ,
XPointer
);
extern int XUnregisterIMInstantiateCallback(
Display* ,
struct _XrmHashBucketRec* ,
char* ,
char* ,
XIDProc ,
XPointer
);
typedef void (*XConnectionWatchProc)(
Display* ,
XPointer ,
int ,
int ,
XPointer*
);
extern int XInternalConnectionNumbers(
Display* ,
int** ,
int*
);
extern void XProcessInternalConnection(
Display* ,
int
);
extern int XAddConnectionWatch(
Display* ,
XConnectionWatchProc ,
XPointer
);
extern void XRemoveConnectionWatch(
Display* ,
XConnectionWatchProc ,
XPointer
);
extern void XSetAuthorization(
char * ,
int ,
char * ,
int
);
extern int _Xmbtowc(
wchar_t * ,
char * ,
int
);
extern int _Xwctomb(
char * ,
wchar_t
);
extern int XGetEventData(
Display* ,
XGenericEventCookie*
);
extern void XFreeEventData(
Display* ,
XGenericEventCookie*
);
}
# 12 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h" 2
# 1 "/usr/include/X11/Xutil.h" 1 3 4
# 54 "/usr/include/X11/Xutil.h" 3 4
# 1 "/usr/include/X11/keysym.h" 1 3 4
# 73 "/usr/include/X11/keysym.h" 3 4
# 1 "/usr/include/X11/keysymdef.h" 1 3 4
# 74 "/usr/include/X11/keysym.h" 2 3 4
# 55 "/usr/include/X11/Xutil.h" 2 3 4
# 81 "/usr/include/X11/Xutil.h" 3 4
typedef struct {
long flags;
int x, y;
int width, height;
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
struct {
int x;
int y;
} min_aspect, max_aspect;
int base_width, base_height;
int win_gravity;
} XSizeHints;
# 119 "/usr/include/X11/Xutil.h" 3 4
typedef struct {
long flags;
int input;
int initial_state;
Pixmap icon_pixmap;
Window icon_window;
int icon_x, icon_y;
Pixmap icon_mask;
XID window_group;
} XWMHints;
# 163 "/usr/include/X11/Xutil.h" 3 4
typedef struct {
unsigned char *value;
Atom encoding;
int format;
unsigned long nitems;
} XTextProperty;
typedef enum {
XStringStyle,
XCompoundTextStyle,
XTextStyle,
XStdICCTextStyle,
XUTF8StringStyle
} XICCEncodingStyle;
typedef struct {
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
} XIconSize;
typedef struct {
char *res_name;
char *res_class;
} XClassHint;
# 231 "/usr/include/X11/Xutil.h" 3 4
typedef struct _XComposeStatus {
XPointer compose_ptr;
int chars_matched;
} XComposeStatus;
# 273 "/usr/include/X11/Xutil.h" 3 4
typedef struct _XRegion *Region;
# 287 "/usr/include/X11/Xutil.h" 3 4
typedef struct {
Visual *visual;
VisualID visualid;
int screen;
int depth;
int c_class;
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
int colormap_size;
int bits_per_rgb;
} XVisualInfo;
# 320 "/usr/include/X11/Xutil.h" 3 4
typedef struct {
Colormap colormap;
unsigned long red_max;
unsigned long red_mult;
unsigned long green_max;
unsigned long green_mult;
unsigned long blue_max;
unsigned long blue_mult;
unsigned long base_pixel;
VisualID visualid;
XID killid;
} XStandardColormap;
# 357 "/usr/include/X11/Xutil.h" 3 4
typedef int XContext;
extern "C" {
extern XClassHint *XAllocClassHint (
void
);
extern XIconSize *XAllocIconSize (
void
);
extern XSizeHints *XAllocSizeHints (
void
);
extern XStandardColormap *XAllocStandardColormap (
void
);
extern XWMHints *XAllocWMHints (
void
);
extern int XClipBox(
Region ,
XRectangle*
);
extern Region XCreateRegion(
void
);
extern const char *XDefaultString (void);
extern int XDeleteContext(
Display* ,
XID ,
XContext
);
extern int XDestroyRegion(
Region
);
extern int XEmptyRegion(
Region
);
extern int XEqualRegion(
Region ,
Region
);
extern int XFindContext(
Display* ,
XID ,
XContext ,
XPointer*
);
extern int XGetClassHint(
Display* ,
Window ,
XClassHint*
);
extern int XGetIconSizes(
Display* ,
Window ,
XIconSize** ,
int*
);
extern int XGetNormalHints(
Display* ,
Window ,
XSizeHints*
);
extern int XGetRGBColormaps(
Display* ,
Window ,
XStandardColormap** ,
int* ,
Atom
);
extern int XGetSizeHints(
Display* ,
Window ,
XSizeHints* ,
Atom
);
extern int XGetStandardColormap(
Display* ,
Window ,
XStandardColormap* ,
Atom
);
extern int XGetTextProperty(
Display* ,
Window ,
XTextProperty* ,
Atom
);
extern XVisualInfo *XGetVisualInfo(
Display* ,
long ,
XVisualInfo* ,
int*
);
extern int XGetWMClientMachine(
Display* ,
Window ,
XTextProperty*
);
extern XWMHints *XGetWMHints(
Display* ,
Window
);
extern int XGetWMIconName(
Display* ,
Window ,
XTextProperty*
);
extern int XGetWMName(
Display* ,
Window ,
XTextProperty*
);
extern int XGetWMNormalHints(
Display* ,
Window ,
XSizeHints* ,
long*
);
extern int XGetWMSizeHints(
Display* ,
Window ,
XSizeHints* ,
long* ,
Atom
);
extern int XGetZoomHints(
Display* ,
Window ,
XSizeHints*
);
extern int XIntersectRegion(
Region ,
Region ,
Region
);
extern void XConvertCase(
KeySym ,
KeySym* ,
KeySym*
);
extern int XLookupString(
XKeyEvent* ,
char* ,
int ,
KeySym* ,
XComposeStatus*
);
extern int XMatchVisualInfo(
Display* ,
int ,
int ,
int ,
XVisualInfo*
);
extern int XOffsetRegion(
Region ,
int ,
int
);
extern int XPointInRegion(
Region ,
int ,
int
);
extern Region XPolygonRegion(
XPoint* ,
int ,
int
);
extern int XRectInRegion(
Region ,
int ,
int ,
unsigned int ,
unsigned int
);
extern int XSaveContext(
Display* ,
XID ,
XContext ,
const char*
);
extern int XSetClassHint(
Display* ,
Window ,
XClassHint*
);
extern int XSetIconSizes(
Display* ,
Window ,
XIconSize* ,
int
);
extern int XSetNormalHints(
Display* ,
Window ,
XSizeHints*
);
extern void XSetRGBColormaps(
Display* ,
Window ,
XStandardColormap* ,
int ,
Atom
);
extern int XSetSizeHints(
Display* ,
Window ,
XSizeHints* ,
Atom
);
extern int XSetStandardProperties(
Display* ,
Window ,
const char* ,
const char* ,
Pixmap ,
char** ,
int ,
XSizeHints*
);
extern void XSetTextProperty(
Display* ,
Window ,
XTextProperty* ,
Atom
);
extern void XSetWMClientMachine(
Display* ,
Window ,
XTextProperty*
);
extern int XSetWMHints(
Display* ,
Window ,
XWMHints*
);
extern void XSetWMIconName(
Display* ,
Window ,
XTextProperty*
);
extern void XSetWMName(
Display* ,
Window ,
XTextProperty*
);
extern void XSetWMNormalHints(
Display* ,
Window ,
XSizeHints*
);
extern void XSetWMProperties(
Display* ,
Window ,
XTextProperty* ,
XTextProperty* ,
char** ,
int ,
XSizeHints* ,
XWMHints* ,
XClassHint*
);
extern void XmbSetWMProperties(
Display* ,
Window ,
const char* ,
const char* ,
char** ,
int ,
XSizeHints* ,
XWMHints* ,
XClassHint*
);
extern void Xutf8SetWMProperties(
Display* ,
Window ,
const char* ,
const char* ,
char** ,
int ,
XSizeHints* ,
XWMHints* ,
XClassHint*
);
extern void XSetWMSizeHints(
Display* ,
Window ,
XSizeHints* ,
Atom
);
extern int XSetRegion(
Display* ,
GC ,
Region
);
extern void XSetStandardColormap(
Display* ,
Window ,
XStandardColormap* ,
Atom
);
extern int XSetZoomHints(
Display* ,
Window ,
XSizeHints*
);
extern int XShrinkRegion(
Region ,
int ,
int
);
extern int XStringListToTextProperty(
char** ,
int ,
XTextProperty*
);
extern int XSubtractRegion(
Region ,
Region ,
Region
);
extern int XmbTextListToTextProperty(
Display* display,
char** list,
int count,
XICCEncodingStyle style,
XTextProperty* text_prop_return
);
extern int XwcTextListToTextProperty(
Display* display,
wchar_t** list,
int count,
XICCEncodingStyle style,
XTextProperty* text_prop_return
);
extern int Xutf8TextListToTextProperty(
Display* display,
char** list,
int count,
XICCEncodingStyle style,
XTextProperty* text_prop_return
);
extern void XwcFreeStringList(
wchar_t** list
);
extern int XTextPropertyToStringList(
XTextProperty* ,
char*** ,
int*
);
extern int XmbTextPropertyToTextList(
Display* display,
const XTextProperty* text_prop,
char*** list_return,
int* count_return
);
extern int XwcTextPropertyToTextList(
Display* display,
const XTextProperty* text_prop,
wchar_t*** list_return,
int* count_return
);
extern int Xutf8TextPropertyToTextList(
Display* display,
const XTextProperty* text_prop,
char*** list_return,
int* count_return
);
extern int XUnionRectWithRegion(
XRectangle* ,
Region ,
Region
);
extern int XUnionRegion(
Region ,
Region ,
Region
);
extern int XWMGeometry(
Display* ,
int ,
const char* ,
const char* ,
unsigned int ,
XSizeHints* ,
int* ,
int* ,
int* ,
int* ,
int*
);
extern int XXorRegion(
Region ,
Region ,
Region
);
}
# 13 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h" 2
# 1 "/usr/include/GL/glx.h" 1 3 4
# 32 "/usr/include/GL/glx.h" 3 4
# 1 "/usr/include/GL/gl.h" 1 3 4
# 33 "/usr/include/GL/glx.h" 2 3 4
# 41 "/usr/include/GL/glx.h" 3 4
extern "C" {
# 165 "/usr/include/GL/glx.h" 3 4
typedef struct __GLXcontextRec *GLXContext;
typedef XID GLXPixmap;
typedef XID GLXDrawable;
typedef struct __GLXFBConfigRec *GLXFBConfig;
typedef XID GLXFBConfigID;
typedef XID GLXContextID;
typedef XID GLXWindow;
typedef XID GLXPbuffer;
# 187 "/usr/include/GL/glx.h" 3 4
extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
int *attribList );
extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
GLXContext shareList, int direct );
extern void glXDestroyContext( Display *dpy, GLXContext ctx );
extern int glXMakeCurrent( Display *dpy, GLXDrawable drawable,
GLXContext ctx);
extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
unsigned long mask );
extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
Pixmap pixmap );
extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
extern int glXQueryExtension( Display *dpy, int *errorb, int *event );
extern int glXQueryVersion( Display *dpy, int *maj, int *min );
extern int glXIsDirect( Display *dpy, GLXContext ctx );
extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
int attrib, int *value );
extern GLXContext glXGetCurrentContext( void );
extern GLXDrawable glXGetCurrentDrawable( void );
extern void glXWaitGL( void );
extern void glXWaitX( void );
extern void glXUseXFont( Font font, int first, int count, int list );
extern const char *glXQueryExtensionsString( Display *dpy, int screen );
extern const char *glXQueryServerString( Display *dpy, int screen, int name );
extern const char *glXGetClientString( Display *dpy, int name );
extern Display *glXGetCurrentDisplay( void );
extern GLXFBConfig *glXChooseFBConfig( Display *dpy, int screen,
const int *attribList, int *nitems );
extern int glXGetFBConfigAttrib( Display *dpy, GLXFBConfig config,
int attribute, int *value );
extern GLXFBConfig *glXGetFBConfigs( Display *dpy, int screen,
int *nelements );
extern XVisualInfo *glXGetVisualFromFBConfig( Display *dpy,
GLXFBConfig config );
extern GLXWindow glXCreateWindow( Display *dpy, GLXFBConfig config,
Window win, const int *attribList );
extern void glXDestroyWindow( Display *dpy, GLXWindow window );
extern GLXPixmap glXCreatePixmap( Display *dpy, GLXFBConfig config,
Pixmap pixmap, const int *attribList );
extern void glXDestroyPixmap( Display *dpy, GLXPixmap pixmap );
extern GLXPbuffer glXCreatePbuffer( Display *dpy, GLXFBConfig config,
const int *attribList );
extern void glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf );
extern void glXQueryDrawable( Display *dpy, GLXDrawable draw, int attribute,
unsigned int *value );
extern GLXContext glXCreateNewContext( Display *dpy, GLXFBConfig config,
int renderType, GLXContext shareList,
int direct );
extern int glXMakeContextCurrent( Display *dpy, GLXDrawable draw,
GLXDrawable read, GLXContext ctx );
extern GLXDrawable glXGetCurrentReadDrawable( void );
extern int glXQueryContext( Display *dpy, GLXContext ctx, int attribute,
int *value );
extern void glXSelectEvent( Display *dpy, GLXDrawable drawable,
unsigned long mask );
extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
unsigned long *mask );
typedef GLXFBConfig * (* PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
typedef GLXFBConfig * (* PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
typedef int (* PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
typedef GLXWindow (* PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
typedef void (* PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
typedef GLXPixmap (* PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
typedef void (* PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
typedef GLXPbuffer (* PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
typedef void (* PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
typedef void (* PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
typedef GLXContext (* PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, int direct);
typedef int (* PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
typedef Display * (* PFNGLXGETCURRENTDISPLAYPROC) (void);
typedef int (* PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
typedef void (* PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
typedef void (* PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
# 317 "/usr/include/GL/glx.h" 3 4
typedef void (*__GLXextFuncPtr)(void);
extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
extern void (*glXGetProcAddress(const GLubyte *procname))( void );
typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
# 1 "/usr/include/GL/glxext.h" 1 3 4
# 334 "/usr/include/GL/glx.h" 2 3 4
# 349 "/usr/include/GL/glx.h" 3 4
extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
extern void glXFreeMemoryNV(GLvoid *pointer);
typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
# 364 "/usr/include/GL/glx.h" 3 4
extern int glXBindTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
extern int glXReleaseTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
extern int glXDrawableAttribARB(Display *dpy, GLXDrawable draw, const int *attribList);
# 389 "/usr/include/GL/glx.h" 3 4
extern int glXGetFrameUsageMESA(Display *dpy, GLXDrawable drawable, float *usage);
extern int glXBeginFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
extern int glXEndFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
extern int glXQueryFrameTrackingMESA(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
typedef int (*PFNGLXGETFRAMEUSAGEMESAPROC) (Display *dpy, GLXDrawable drawable, float *usage);
typedef int (*PFNGLXBEGINFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
typedef int (*PFNGLXENDFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
typedef int (*PFNGLXQUERYFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
# 409 "/usr/include/GL/glx.h" 3 4
extern int glXSwapIntervalMESA(unsigned int interval);
extern int glXGetSwapIntervalMESA(void);
typedef int (*PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);
typedef int (*PFNGLXGETSWAPINTERVALMESAPROC)(void);
# 465 "/usr/include/GL/glx.h" 3 4
extern void glXBindTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
extern void glXReleaseTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer);
# 487 "/usr/include/GL/glx.h" 3 4
int glXQueryRendererIntegerMESA(Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
int glXQueryCurrentRendererIntegerMESA(int attribute, unsigned int *value);
const char *glXQueryRendererStringMESA(Display *dpy, int screen, int renderer, int attribute);
const char *glXQueryCurrentRendererStringMESA(int attribute);
typedef int (*PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
typedef int (*PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int *value);
typedef const char *(*PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute);
typedef const char *(*PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute);
typedef struct {
int event_type;
int draw_type;
unsigned long serial;
int send_event;
Display *display;
GLXDrawable drawable;
unsigned int buffer_mask;
unsigned int aux_buffer;
int x, y;
int width, height;
int count;
} GLXPbufferClobberEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
GLXDrawable drawable;
int event_type;
int64_t ust;
int64_t msc;
int64_t sbc;
} GLXBufferSwapComplete;
typedef union __GLXEvent {
GLXPbufferClobberEvent glxpbufferclobber;
GLXBufferSwapComplete glxbufferswapcomplete;
long pad[24];
} GLXEvent;
}
# 14 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h" 2
# 86 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h"
typedef struct __GLXFBConfigRec *GLXFBConfig;
typedef XID GLXContextID;
typedef struct __GLXcontextRec *GLXContext;
typedef XID GLXPixmap;
typedef XID GLXDrawable;
typedef XID GLXPbuffer;
typedef void ( *__GLXextFuncPtr)(void);
typedef XID GLXVideoCaptureDeviceNV;
typedef unsigned int GLXVideoDeviceNV;
typedef XID GLXVideoSourceSGIX;
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
typedef XID GLXPbufferSGIX;
typedef struct {
char pipeName[80];
int networkId;
} GLXHyperpipeNetworkSGIX;
typedef struct {
char pipeName[80];
int channel;
unsigned int participationType;
int timeSlice;
} GLXHyperpipeConfigSGIX;
typedef struct {
char pipeName[80];
int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
int destXOrigin, destYOrigin, destWidth, destHeight;
} GLXPipeRect;
typedef struct {
char pipeName[80];
int XOrigin, YOrigin, maxHeight, maxWidth;
} GLXPipeRectLimits;
extern "C" {
extern int glx_ext_AMD_gpu_association;
extern int glx_ext_ARB_create_context;
extern int glx_ext_ARB_create_context_profile;
extern int glx_ext_ARB_create_context_robustness;
extern int glx_ext_ARB_fbconfig_float;
extern int glx_ext_ARB_framebuffer_sRGB;
extern int glx_ext_ARB_get_proc_address;
extern int glx_ext_ARB_multisample;
extern int glx_ext_ARB_robustness_application_isolation;
extern int glx_ext_ARB_robustness_share_group_isolation;
extern int glx_ext_ARB_vertex_buffer_object;
extern int glx_ext_EXT_buffer_age;
extern int glx_ext_EXT_create_context_es2_profile;
extern int glx_ext_EXT_create_context_es_profile;
extern int glx_ext_EXT_fbconfig_packed_float;
extern int glx_ext_EXT_framebuffer_sRGB;
extern int glx_ext_EXT_import_context;
extern int glx_ext_EXT_swap_control;
extern int glx_ext_EXT_swap_control_tear;
extern int glx_ext_EXT_texture_from_pixmap;
extern int glx_ext_EXT_visual_info;
extern int glx_ext_EXT_visual_rating;
extern int glx_ext_INTEL_swap_event;
extern int glx_ext_MESA_agp_offset;
extern int glx_ext_MESA_copy_sub_buffer;
extern int glx_ext_MESA_pixmap_colormap;
extern int glx_ext_MESA_release_buffers;
extern int glx_ext_MESA_set_3dfx_mode;
extern int glx_ext_NV_copy_image;
extern int glx_ext_NV_float_buffer;
extern int glx_ext_NV_multisample_coverage;
extern int glx_ext_NV_present_video;
extern int glx_ext_NV_swap_group;
extern int glx_ext_NV_video_capture;
extern int glx_ext_NV_video_output;
# 307 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h"
extern GLXContext ( *_ptrc_glXCreateContextAttribsARB)(Display *, GLXFBConfig, GLXContext, int, const int *);
# 332 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h"
extern void ( *_ptrc_glXFreeContextEXT)(Display *, GLXContext);
extern GLXContextID ( *_ptrc_glXGetContextIDEXT)(const GLXContext);
extern Display * ( *_ptrc_glXGetCurrentDisplayEXT)(void);
extern GLXContext ( *_ptrc_glXImportContextEXT)(Display *, GLXContextID);
extern int ( *_ptrc_glXQueryContextInfoEXT)(Display *, GLXContext, int, int *);
extern void ( *_ptrc_glXSwapIntervalEXT)(Display *, GLXDrawable, int);
# 364 "/home/btbn/Projekte/obs-studio/libobs-opengl/GL/glx_obs.h"
extern unsigned int ( *_ptrc_glXGetAGPOffsetMESA)(const void *);
extern void ( *_ptrc_glXCopySubBufferMESA)(Display *, GLXDrawable, int, int, int, int);
extern GLXPixmap ( *_ptrc_glXCreateGLXPixmapMESA)(Display *, XVisualInfo *, Pixmap, Colormap);
extern int ( *_ptrc_glXReleaseBuffersMESA)(Display *, GLXDrawable);
extern int ( *_ptrc_glXSet3DfxModeMESA)(int);
extern void ( *_ptrc_glXCopyImageSubDataNV)(Display *, GLXContext, GLuint, GLenum, GLint, GLint, GLint, GLint, GLXContext, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
extern int ( *_ptrc_glXBindVideoDeviceNV)(Display *, unsigned int, unsigned int, const int *);
extern unsigned int * ( *_ptrc_glXEnumerateVideoDevicesNV)(Display *, int, int *);
extern int ( *_ptrc_glXBindSwapBarrierNV)(Display *, GLuint, GLuint);
extern int ( *_ptrc_glXJoinSwapGroupNV)(Display *, GLXDrawable, GLuint);
extern int ( *_ptrc_glXQueryFrameCountNV)(Display *, int, GLuint *);
extern int ( *_ptrc_glXQueryMaxSwapGroupsNV)(Display *, int, GLuint *, GLuint *);
extern int ( *_ptrc_glXQuerySwapGroupNV)(Display *, GLXDrawable, GLuint *, GLuint *);
extern int ( *_ptrc_glXResetFrameCountNV)(Display *, int);
extern int ( *_ptrc_glXBindVideoCaptureDeviceNV)(Display *, unsigned int, GLXVideoCaptureDeviceNV);
extern GLXVideoCaptureDeviceNV * ( *_ptrc_glXEnumerateVideoCaptureDevicesNV)(Display *, int, int *);
extern void ( *_ptrc_glXLockVideoCaptureDeviceNV)(Display *, GLXVideoCaptureDeviceNV);
extern int ( *_ptrc_glXQueryVideoCaptureDeviceNV)(Display *, GLXVideoCaptureDeviceNV, int, int *);
extern void ( *_ptrc_glXReleaseVideoCaptureDeviceNV)(Display *, GLXVideoCaptureDeviceNV);
extern int ( *_ptrc_glXBindVideoImageNV)(Display *, GLXVideoDeviceNV, GLXPbuffer, int);
extern int ( *_ptrc_glXGetVideoDeviceNV)(Display *, int, int, GLXVideoDeviceNV *);
extern int ( *_ptrc_glXGetVideoInfoNV)(Display *, int, GLXVideoDeviceNV, unsigned long *, unsigned long *);
extern int ( *_ptrc_glXReleaseVideoDeviceNV)(Display *, int, GLXVideoDeviceNV);
extern int ( *_ptrc_glXReleaseVideoImageNV)(Display *, GLXPbuffer);
extern int ( *_ptrc_glXSendPbufferToVideoNV)(Display *, GLXPbuffer, int, unsigned long *, GLboolean);
enum glx_LoadStatus
{
glx_LOAD_FAILED = 0,
glx_LOAD_SUCCEEDED = 1
};
int glx_LoadFunctions(Display *display, int screen);
}
# 3 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/usr/include/X11/extensions/Xcomposite.h" 1 3 4
# 48 "/usr/include/X11/extensions/Xcomposite.h" 3 4
# 1 "/usr/include/X11/extensions/composite.h" 1 3 4
# 48 "/usr/include/X11/extensions/composite.h" 3 4
# 1 "/usr/include/X11/extensions/xfixeswire.h" 1 3 4
# 49 "/usr/include/X11/extensions/composite.h" 2 3 4
# 49 "/usr/include/X11/extensions/Xcomposite.h" 2 3 4
# 1 "/usr/include/X11/extensions/Xfixes.h" 1 3 4
# 61 "/usr/include/X11/extensions/Xfixes.h" 3 4
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int subtype;
Window owner;
Atom selection;
Time timestamp;
Time selection_timestamp;
} XFixesSelectionNotifyEvent;
typedef struct {
int type;
unsigned long serial;
int send_event;
Display *display;
Window window;
int subtype;
unsigned long cursor_serial;
Time timestamp;
Atom cursor_name;
} XFixesCursorNotifyEvent;
typedef struct {
short x, y;
unsigned short width, height;
unsigned short xhot, yhot;
unsigned long cursor_serial;
unsigned long *pixels;
Atom atom;
const char *name;
} XFixesCursorImage;
typedef XID XserverRegion;
typedef struct {
short x, y;
unsigned short width, height;
unsigned short xhot, yhot;
unsigned long cursor_serial;
unsigned long *pixels;
Atom atom;
const char *name;
} XFixesCursorImageAndName;
extern "C" {
int XFixesQueryExtension (Display *dpy,
int *event_base_return,
int *error_base_return);
int XFixesQueryVersion (Display *dpy,
int *major_version_return,
int *minor_version_return);
int XFixesVersion (void);
void
XFixesChangeSaveSet (Display *dpy,
Window win,
int mode,
int target,
int map);
void
XFixesSelectSelectionInput (Display *dpy,
Window win,
Atom selection,
unsigned long eventMask);
void
XFixesSelectCursorInput (Display *dpy,
Window win,
unsigned long eventMask);
XFixesCursorImage *
XFixesGetCursorImage (Display *dpy);
XserverRegion
XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles);
XserverRegion
XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap);
XserverRegion
XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind);
XserverRegion
XFixesCreateRegionFromGC (Display *dpy, GC gc);
XserverRegion
XFixesCreateRegionFromPicture (Display *dpy, XID picture);
void
XFixesDestroyRegion (Display *dpy, XserverRegion region);
void
XFixesSetRegion (Display *dpy, XserverRegion region,
XRectangle *rectangles, int nrectangles);
void
XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src);
void
XFixesUnionRegion (Display *dpy, XserverRegion dst,
XserverRegion src1, XserverRegion src2);
void
XFixesIntersectRegion (Display *dpy, XserverRegion dst,
XserverRegion src1, XserverRegion src2);
void
XFixesSubtractRegion (Display *dpy, XserverRegion dst,
XserverRegion src1, XserverRegion src2);
void
XFixesInvertRegion (Display *dpy, XserverRegion dst,
XRectangle *rect, XserverRegion src);
void
XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy);
void
XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src);
XRectangle *
XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet);
XRectangle *
XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region,
int *nrectanglesRet,
XRectangle *bounds);
void
XFixesSetGCClipRegion (Display *dpy, GC gc,
int clip_x_origin, int clip_y_origin,
XserverRegion region);
void
XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind,
int x_off, int y_off, XserverRegion region);
void
XFixesSetPictureClipRegion (Display *dpy, XID picture,
int clip_x_origin, int clip_y_origin,
XserverRegion region);
void
XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name);
const char *
XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom);
void
XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination);
void
XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name);
void
XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src,
unsigned left, unsigned right,
unsigned top, unsigned bottom);
void
XFixesHideCursor (Display *dpy, Window win);
void
XFixesShowCursor (Display *dpy, Window win);
typedef XID PointerBarrier;
PointerBarrier
XFixesCreatePointerBarrier(Display *dpy, Window w, int x1, int y1,
int x2, int y2, int directions,
int num_devices, int *devices);
void
XFixesDestroyPointerBarrier(Display *dpy, PointerBarrier b);
}
# 50 "/usr/include/X11/extensions/Xcomposite.h" 2 3 4
# 61 "/usr/include/X11/extensions/Xcomposite.h" 3 4
extern "C" {
int XCompositeQueryExtension (Display *dpy,
int *event_base_return,
int *error_base_return);
int XCompositeQueryVersion (Display *dpy,
int *major_version_return,
int *minor_version_return);
int XCompositeVersion (void);
void
XCompositeRedirectWindow (Display *dpy, Window window, int update);
void
XCompositeRedirectSubwindows (Display *dpy, Window window, int update);
void
XCompositeUnredirectWindow (Display *dpy, Window window, int update);
void
XCompositeUnredirectSubwindows (Display *dpy, Window window, int update);
XserverRegion
XCompositeCreateRegionFromBorderClip (Display *dpy, Window window);
Pixmap
XCompositeNameWindowPixmap (Display *dpy, Window window);
Window
XCompositeGetOverlayWindow (Display *dpy, Window window);
void
XCompositeReleaseOverlayWindow (Display *dpy, Window window);
}
# 6 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/usr/include/pthread.h" 1 3 4
# 23 "/usr/include/pthread.h" 3 4
# 1 "/usr/include/sched.h" 1 3 4
# 29 "/usr/include/sched.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 30 "/usr/include/sched.h" 2 3 4
# 1 "/usr/include/time.h" 1 3 4
# 34 "/usr/include/sched.h" 2 3 4
# 42 "/usr/include/sched.h" 3 4
# 1 "/usr/include/bits/sched.h" 1 3 4
# 73 "/usr/include/bits/sched.h" 3 4
struct sched_param
{
int __sched_priority;
};
extern "C" {
extern int clone (int (*__fn) (void *__arg), void *__child_stack,
int __flags, void *__arg, ...) throw ();
extern int unshare (int __flags) throw ();
extern int sched_getcpu (void) throw ();
extern int setns (int __fd, int __nstype) throw ();
}
struct __sched_param
{
int __sched_priority;
};
# 119 "/usr/include/bits/sched.h" 3 4
typedef unsigned long int __cpu_mask;
typedef struct
{
__cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
} cpu_set_t;
# 202 "/usr/include/bits/sched.h" 3 4
extern "C" {
extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
throw ();
extern cpu_set_t *__sched_cpualloc (size_t __count) throw () ;
extern void __sched_cpufree (cpu_set_t *__set) throw ();
}
# 43 "/usr/include/sched.h" 2 3 4
extern "C" {
extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
throw ();
extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
extern int sched_setscheduler (__pid_t __pid, int __policy,
const struct sched_param *__param) throw ();
extern int sched_getscheduler (__pid_t __pid) throw ();
extern int sched_yield (void) throw ();
extern int sched_get_priority_max (int __algorithm) throw ();
extern int sched_get_priority_min (int __algorithm) throw ();
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw ();
# 117 "/usr/include/sched.h" 3 4
extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
const cpu_set_t *__cpuset) throw ();
extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
cpu_set_t *__cpuset) throw ();
}
# 24 "/usr/include/pthread.h" 2 3 4
# 1 "/usr/include/time.h" 1 3 4
# 29 "/usr/include/time.h" 3 4
extern "C" {
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 38 "/usr/include/time.h" 2 3 4
# 1 "/usr/include/bits/time.h" 1 3 4
# 86 "/usr/include/bits/time.h" 3 4
# 1 "/usr/include/bits/timex.h" 1 3 4
# 25 "/usr/include/bits/timex.h" 3 4
struct timex
{
unsigned int modes;
__syscall_slong_t offset;
__syscall_slong_t freq;
__syscall_slong_t maxerror;
__syscall_slong_t esterror;
int status;
__syscall_slong_t constant;
__syscall_slong_t precision;
__syscall_slong_t tolerance;
struct timeval time;
__syscall_slong_t tick;
__syscall_slong_t ppsfreq;
__syscall_slong_t jitter;
int shift;
__syscall_slong_t stabil;
__syscall_slong_t jitcnt;
__syscall_slong_t calcnt;
__syscall_slong_t errcnt;
__syscall_slong_t stbcnt;
int tai;
int :32; int :32; int :32; int :32;
int :32; int :32; int :32; int :32;
int :32; int :32; int :32;
};
# 87 "/usr/include/bits/time.h" 2 3 4
extern "C" {
extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw ();
}
# 42 "/usr/include/time.h" 2 3 4
# 131 "/usr/include/time.h" 3 4
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
long int tm_gmtoff;
const char *tm_zone;
};
struct itimerspec
{
struct timespec it_interval;
struct timespec it_value;
};
struct sigevent;
# 186 "/usr/include/time.h" 3 4
extern clock_t clock (void) throw ();
extern time_t time (time_t *__timer) throw ();
extern double difftime (time_t __time1, time_t __time0)
throw () __attribute__ ((__const__));
extern time_t mktime (struct tm *__tp) throw ();
extern size_t strftime (char *__restrict __s, size_t __maxsize,
const char *__restrict __format,
const struct tm *__restrict __tp) throw ();
extern char *strptime (const char *__restrict __s,
const char *__restrict __fmt, struct tm *__tp)
throw ();
# 1 "/usr/include/xlocale.h" 1 3 4
# 27 "/usr/include/xlocale.h" 3 4
typedef struct __locale_struct
{
struct __locale_data *__locales[13];
const unsigned short int *__ctype_b;
const int *__ctype_tolower;
const int *__ctype_toupper;
const char *__names[13];
} *__locale_t;
typedef __locale_t locale_t;
# 222 "/usr/include/time.h" 2 3 4
extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
const char *__restrict __format,
const struct tm *__restrict __tp,
__locale_t __loc) throw ();
extern char *strptime_l (const char *__restrict __s,
const char *__restrict __fmt, struct tm *__tp,
__locale_t __loc) throw ();
extern struct tm *gmtime (const time_t *__timer) throw ();
extern struct tm *localtime (const time_t *__timer) throw ();
extern struct tm *gmtime_r (const time_t *__restrict __timer,
struct tm *__restrict __tp) throw ();
extern struct tm *localtime_r (const time_t *__restrict __timer,
struct tm *__restrict __tp) throw ();
extern char *asctime (const struct tm *__tp) throw ();
extern char *ctime (const time_t *__timer) throw ();
extern char *asctime_r (const struct tm *__restrict __tp,
char *__restrict __buf) throw ();
extern char *ctime_r (const time_t *__restrict __timer,
char *__restrict __buf) throw ();
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;
extern char *tzname[2];
extern void tzset (void) throw ();
extern int daylight;
extern long int timezone;
extern int stime (const time_t *__when) throw ();
# 319 "/usr/include/time.h" 3 4
extern time_t timegm (struct tm *__tp) throw ();
extern time_t timelocal (struct tm *__tp) throw ();
extern int dysize (int __year) throw () __attribute__ ((__const__));
# 334 "/usr/include/time.h" 3 4
extern int nanosleep (const struct timespec *__requested_time,
struct timespec *__remaining);
extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw ();
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw ();
extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
throw ();
extern int clock_nanosleep (clockid_t __clock_id, int __flags,
const struct timespec *__req,
struct timespec *__rem);
extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw ();
extern int timer_create (clockid_t __clock_id,
struct sigevent *__restrict __evp,
timer_t *__restrict __timerid) throw ();
extern int timer_delete (timer_t __timerid) throw ();
extern int timer_settime (timer_t __timerid, int __flags,
const struct itimerspec *__restrict __value,
struct itimerspec *__restrict __ovalue) throw ();
extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
throw ();
extern int timer_getoverrun (timer_t __timerid) throw ();
extern int timespec_get (struct timespec *__ts, int __base)
throw () __attribute__ ((__nonnull__ (1)));
# 403 "/usr/include/time.h" 3 4
extern int getdate_err;
# 412 "/usr/include/time.h" 3 4
extern struct tm *getdate (const char *__string);
# 426 "/usr/include/time.h" 3 4
extern int getdate_r (const char *__restrict __string,
struct tm *__restrict __resbufp);
}
# 25 "/usr/include/pthread.h" 2 3 4
# 1 "/usr/include/bits/setjmp.h" 1 3 4
# 26 "/usr/include/bits/setjmp.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 27 "/usr/include/bits/setjmp.h" 2 3 4
typedef long int __jmp_buf[8];
# 28 "/usr/include/pthread.h" 2 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/pthread.h" 2 3 4
enum
{
PTHREAD_CREATE_JOINABLE,
PTHREAD_CREATE_DETACHED
};
enum
{
PTHREAD_MUTEX_TIMED_NP,
PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK_NP,
PTHREAD_MUTEX_ADAPTIVE_NP
,
PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
, PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
};
enum
{
PTHREAD_MUTEX_STALLED,
PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
PTHREAD_MUTEX_ROBUST,
PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
};
enum
{
PTHREAD_PRIO_NONE,
PTHREAD_PRIO_INHERIT,
PTHREAD_PRIO_PROTECT
};
# 113 "/usr/include/pthread.h" 3 4
enum
{
PTHREAD_RWLOCK_PREFER_READER_NP,
PTHREAD_RWLOCK_PREFER_WRITER_NP,
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
};
# 154 "/usr/include/pthread.h" 3 4
enum
{
PTHREAD_INHERIT_SCHED,
PTHREAD_EXPLICIT_SCHED
};
enum
{
PTHREAD_SCOPE_SYSTEM,
PTHREAD_SCOPE_PROCESS
};
enum
{
PTHREAD_PROCESS_PRIVATE,
PTHREAD_PROCESS_SHARED
};
# 189 "/usr/include/pthread.h" 3 4
struct _pthread_cleanup_buffer
{
void (*__routine) (void *);
void *__arg;
int __canceltype;
struct _pthread_cleanup_buffer *__prev;
};
enum
{
PTHREAD_CANCEL_ENABLE,
PTHREAD_CANCEL_DISABLE
};
enum
{
PTHREAD_CANCEL_DEFERRED,
PTHREAD_CANCEL_ASYNCHRONOUS
};
# 227 "/usr/include/pthread.h" 3 4
extern "C" {
extern int pthread_create (pthread_t *__restrict __newthread,
const pthread_attr_t *__restrict __attr,
void *(*__start_routine) (void *),
void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3)));
extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
extern int pthread_join (pthread_t __th, void **__thread_return);
extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw ();
extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
const struct timespec *__abstime);
extern int pthread_detach (pthread_t __th) throw ();
extern pthread_t pthread_self (void) throw () __attribute__ ((__const__));
extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
throw () __attribute__ ((__const__));
extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_destroy (pthread_attr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
int *__detachstate)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
int __detachstate)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
size_t *__guardsize)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
size_t __guardsize)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
struct sched_param *__restrict __param)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
const struct sched_param *__restrict
__param) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
__attr, int *__restrict __policy)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
__attr, int *__restrict __inherit)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
int __inherit)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
int *__restrict __scope)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
__attr, void **__restrict __stackaddr)
throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
void *__stackaddr)
throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
__attr, size_t *__restrict __stacksize)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
size_t __stacksize)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
void **__restrict __stackaddr,
size_t *__restrict __stacksize)
throw () __attribute__ ((__nonnull__ (1, 2, 3)));
extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
size_t __stacksize) throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
size_t __cpusetsize,
const cpu_set_t *__cpuset)
throw () __attribute__ ((__nonnull__ (1, 3)));
extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
size_t __cpusetsize,
cpu_set_t *__cpuset)
throw () __attribute__ ((__nonnull__ (1, 3)));
extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
throw () __attribute__ ((__nonnull__ (2)));
extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
const struct sched_param *__param)
throw () __attribute__ ((__nonnull__ (3)));
extern int pthread_getschedparam (pthread_t __target_thread,
int *__restrict __policy,
struct sched_param *__restrict __param)
throw () __attribute__ ((__nonnull__ (2, 3)));
extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
throw ();
extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
size_t __buflen)
throw () __attribute__ ((__nonnull__ (2)));
extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
throw () __attribute__ ((__nonnull__ (2)));
extern int pthread_getconcurrency (void) throw ();
extern int pthread_setconcurrency (int __level) throw ();
extern int pthread_yield (void) throw ();
extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
const cpu_set_t *__cpuset)
throw () __attribute__ ((__nonnull__ (3)));
extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
cpu_set_t *__cpuset)
throw () __attribute__ ((__nonnull__ (3)));
# 485 "/usr/include/pthread.h" 3 4
extern int pthread_once (pthread_once_t *__once_control,
void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
# 497 "/usr/include/pthread.h" 3 4
extern int pthread_setcancelstate (int __state, int *__oldstate);
extern int pthread_setcanceltype (int __type, int *__oldtype);
extern int pthread_cancel (pthread_t __th);
extern void pthread_testcancel (void);
typedef struct
{
struct
{
__jmp_buf __cancel_jmp_buf;
int __mask_was_saved;
} __cancel_jmp_buf[1];
void *__pad[4];
} __pthread_unwind_buf_t __attribute__ ((__aligned__));
# 531 "/usr/include/pthread.h" 3 4
struct __pthread_cleanup_frame
{
void (*__cancel_routine) (void *);
void *__cancel_arg;
int __do_it;
int __cancel_type;
};
class __pthread_cleanup_class
{
void (*__cancel_routine) (void *);
void *__cancel_arg;
int __do_it;
int __cancel_type;
public:
__pthread_cleanup_class (void (*__fct) (void *), void *__arg)
: __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
void __setdoit (int __newval) { __do_it = __newval; }
void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
&__cancel_type); }
void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
};
# 733 "/usr/include/pthread.h" 3 4
struct __jmp_buf_tag;
extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw ();
extern int pthread_mutex_init (pthread_mutex_t *__mutex,
const pthread_mutexattr_t *__mutexattr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
const struct timespec *__restrict
__abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
__restrict __mutex,
int *__restrict __prioceiling)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
int __prioceiling,
int *__restrict __old_ceiling)
throw () __attribute__ ((__nonnull__ (1, 3)));
extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
throw () __attribute__ ((__nonnull__ (1)));
# 797 "/usr/include/pthread.h" 3 4
extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
__restrict __attr,
int *__restrict __pshared)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
int __pshared)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
__attr, int *__restrict __kind)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
__restrict __attr,
int *__restrict __protocol)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
int __protocol)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
__restrict __attr,
int *__restrict __prioceiling)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
int __prioceiling)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
int *__robustness)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr,
int *__robustness)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
int __robustness)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
int __robustness)
throw () __attribute__ ((__nonnull__ (1)));
# 879 "/usr/include/pthread.h" 3 4
extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
const pthread_rwlockattr_t *__restrict
__attr) throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
const struct timespec *__restrict
__abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
const struct timespec *__restrict
__abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
__restrict __attr,
int *__restrict __pshared)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
int __pshared)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
__restrict __attr,
int *__restrict __pref)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
int __pref) throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
const pthread_condattr_t *__restrict __cond_attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_destroy (pthread_cond_t *__cond)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_signal (pthread_cond_t *__cond)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_broadcast (pthread_cond_t *__cond)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex)
__attribute__ ((__nonnull__ (1, 2)));
# 991 "/usr/include/pthread.h" 3 4
extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex,
const struct timespec *__restrict __abstime)
__attribute__ ((__nonnull__ (1, 2, 3)));
extern int pthread_condattr_init (pthread_condattr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_condattr_getpshared (const pthread_condattr_t *
__restrict __attr,
int *__restrict __pshared)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
int __pshared) throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_condattr_getclock (const pthread_condattr_t *
__restrict __attr,
__clockid_t *__restrict __clock_id)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
__clockid_t __clock_id)
throw () __attribute__ ((__nonnull__ (1)));
# 1035 "/usr/include/pthread.h" 3 4
extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_lock (pthread_spinlock_t *__lock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
const pthread_barrierattr_t *__restrict
__attr, unsigned int __count)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
__restrict __attr,
int *__restrict __pshared)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
int __pshared)
throw () __attribute__ ((__nonnull__ (1)));
# 1102 "/usr/include/pthread.h" 3 4
extern int pthread_key_create (pthread_key_t *__key,
void (*__destr_function) (void *))
throw () __attribute__ ((__nonnull__ (1)));
extern int pthread_key_delete (pthread_key_t __key) throw ();
extern void *pthread_getspecific (pthread_key_t __key) throw ();
extern int pthread_setspecific (pthread_key_t __key,
const void *__pointer) throw () ;
extern int pthread_getcpuclockid (pthread_t __thread_id,
__clockid_t *__clock_id)
throw () __attribute__ ((__nonnull__ (2)));
# 1136 "/usr/include/pthread.h" 3 4
extern int pthread_atfork (void (*__prepare) (void),
void (*__parent) (void),
void (*__child) (void)) throw ();
# 1150 "/usr/include/pthread.h" 3 4
}
# 7 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 1 3
# 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 3
# 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 1 3
# 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 1 3
# 171 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3
namespace std
{
typedef long unsigned int size_t;
typedef long int ptrdiff_t;
typedef decltype(nullptr) nullptr_t;
}
# 414 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h" 1 3
# 415 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h" 1 3
# 418 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 2 3
# 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functexcept.h" 1 3
# 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functexcept.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/exception_defines.h" 1 3
# 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functexcept.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
void
__throw_bad_exception(void) __attribute__((__noreturn__));
void
__throw_bad_alloc(void) __attribute__((__noreturn__));
void
__throw_bad_cast(void) __attribute__((__noreturn__));
void
__throw_bad_typeid(void) __attribute__((__noreturn__));
void
__throw_logic_error(const char*) __attribute__((__noreturn__));
void
__throw_domain_error(const char*) __attribute__((__noreturn__));
void
__throw_invalid_argument(const char*) __attribute__((__noreturn__));
void
__throw_length_error(const char*) __attribute__((__noreturn__));
void
__throw_out_of_range(const char*) __attribute__((__noreturn__));
void
__throw_runtime_error(const char*) __attribute__((__noreturn__));
void
__throw_range_error(const char*) __attribute__((__noreturn__));
void
__throw_overflow_error(const char*) __attribute__((__noreturn__));
void
__throw_underflow_error(const char*) __attribute__((__noreturn__));
void
__throw_ios_failure(const char*) __attribute__((__noreturn__));
void
__throw_system_error(int) __attribute__((__noreturn__));
void
__throw_future_error(int) __attribute__((__noreturn__));
void
__throw_bad_function_call() __attribute__((__noreturn__));
}
# 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/cpp_type_traits.h" 1 3
# 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/cpp_type_traits.h" 3
# 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/cpp_type_traits.h" 3
# 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/cpp_type_traits.h" 3
namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
template<typename _Iterator, typename _Container>
class __normal_iterator;
}
namespace std __attribute__ ((__visibility__ ("default")))
{
struct __true_type { };
struct __false_type { };
template<bool>
struct __truth_type
{ typedef __false_type __type; };
template<>
struct __truth_type<true>
{ typedef __true_type __type; };
template<class _Sp, class _Tp>
struct __traitor
{
enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
typedef typename __truth_type<__value>::__type __type;
};
template<typename, typename>
struct __are_same
{
enum { __value = 0 };
typedef __false_type __type;
};
template<typename _Tp>
struct __are_same<_Tp, _Tp>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<typename _Tp>
struct __is_void
{
enum { __value = 0 };
typedef __false_type __type;
};
template<>
struct __is_void<void>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<typename _Tp>
struct __is_integer
{
enum { __value = 0 };
typedef __false_type __type;
};
template<>
struct __is_integer<bool>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<char>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<signed char>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<unsigned char>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<wchar_t>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<char16_t>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<char32_t>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<short>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<unsigned short>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<int>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<unsigned int>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<long>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<unsigned long>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<long long>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_integer<unsigned long long>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<typename _Tp>
struct __is_floating
{
enum { __value = 0 };
typedef __false_type __type;
};
template<>
struct __is_floating<float>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_floating<double>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_floating<long double>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<typename _Tp>
struct __is_pointer
{
enum { __value = 0 };
typedef __false_type __type;
};
template<typename _Tp>
struct __is_pointer<_Tp*>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<typename _Tp>
struct __is_normal_iterator
{
enum { __value = 0 };
typedef __false_type __type;
};
template<typename _Iterator, typename _Container>
struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator,
_Container> >
{
enum { __value = 1 };
typedef __true_type __type;
};
template<typename _Tp>
struct __is_arithmetic
: public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
{ };
template<typename _Tp>
struct __is_fundamental
: public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> >
{ };
template<typename _Tp>
struct __is_scalar
: public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
{ };
template<typename _Tp>
struct __is_char
{
enum { __value = 0 };
typedef __false_type __type;
};
template<>
struct __is_char<char>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_char<wchar_t>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<typename _Tp>
struct __is_byte
{
enum { __value = 0 };
typedef __false_type __type;
};
template<>
struct __is_byte<char>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_byte<signed char>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<>
struct __is_byte<unsigned char>
{
enum { __value = 1 };
typedef __true_type __type;
};
template<typename _Tp>
struct __is_move_iterator
{
enum { __value = 0 };
typedef __false_type __type;
};
template<typename _Iterator>
class move_iterator;
template<typename _Iterator>
struct __is_move_iterator< move_iterator<_Iterator> >
{
enum { __value = 1 };
typedef __true_type __type;
};
}
# 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/type_traits.h" 1 3
# 32 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/type_traits.h" 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/type_traits.h" 3
namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
template<bool, typename>
struct __enable_if
{ };
template<typename _Tp>
struct __enable_if<true, _Tp>
{ typedef _Tp __type; };
template<bool _Cond, typename _Iftrue, typename _Iffalse>
struct __conditional_type
{ typedef _Iftrue __type; };
template<typename _Iftrue, typename _Iffalse>
struct __conditional_type<false, _Iftrue, _Iffalse>
{ typedef _Iffalse __type; };
template<typename _Tp>
struct __add_unsigned
{
private:
typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
public:
typedef typename __if_type::__type __type;
};
template<>
struct __add_unsigned<char>
{ typedef unsigned char __type; };
template<>
struct __add_unsigned<signed char>
{ typedef unsigned char __type; };
template<>
struct __add_unsigned<short>
{ typedef unsigned short __type; };
template<>
struct __add_unsigned<int>
{ typedef unsigned int __type; };
template<>
struct __add_unsigned<long>
{ typedef unsigned long __type; };
template<>
struct __add_unsigned<long long>
{ typedef unsigned long long __type; };
template<>
struct __add_unsigned<bool>;
template<>
struct __add_unsigned<wchar_t>;
template<typename _Tp>
struct __remove_unsigned
{
private:
typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
public:
typedef typename __if_type::__type __type;
};
template<>
struct __remove_unsigned<char>
{ typedef signed char __type; };
template<>
struct __remove_unsigned<unsigned char>
{ typedef signed char __type; };
template<>
struct __remove_unsigned<unsigned short>
{ typedef short __type; };
template<>
struct __remove_unsigned<unsigned int>
{ typedef int __type; };
template<>
struct __remove_unsigned<unsigned long>
{ typedef long __type; };
template<>
struct __remove_unsigned<unsigned long long>
{ typedef long long __type; };
template<>
struct __remove_unsigned<bool>;
template<>
struct __remove_unsigned<wchar_t>;
template<typename _Type>
inline bool
__is_null_pointer(_Type* __ptr)
{ return __ptr == 0; }
template<typename _Type>
inline bool
__is_null_pointer(_Type)
{ return false; }
template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
struct __promote
{ typedef double __type; };
template<typename _Tp>
struct __promote<_Tp, false>
{ };
template<>
struct __promote<long double>
{ typedef long double __type; };
template<>
struct __promote<double>
{ typedef double __type; };
template<>
struct __promote<float>
{ typedef float __type; };
template<typename _Tp, typename _Up,
typename _Tp2 = typename __promote<_Tp>::__type,
typename _Up2 = typename __promote<_Up>::__type>
struct __promote_2
{
typedef __typeof__(_Tp2() + _Up2()) __type;
};
template<typename _Tp, typename _Up, typename _Vp,
typename _Tp2 = typename __promote<_Tp>::__type,
typename _Up2 = typename __promote<_Up>::__type,
typename _Vp2 = typename __promote<_Vp>::__type>
struct __promote_3
{
typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type;
};
template<typename _Tp, typename _Up, typename _Vp, typename _Wp,
typename _Tp2 = typename __promote<_Tp>::__type,
typename _Up2 = typename __promote<_Up>::__type,
typename _Vp2 = typename __promote<_Vp>::__type,
typename _Wp2 = typename __promote<_Wp>::__type>
struct __promote_4
{
typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type;
};
}
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/numeric_traits.h" 1 3
# 32 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/numeric_traits.h" 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/numeric_traits.h" 3
namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
# 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/numeric_traits.h" 3
template<typename _Value>
struct __numeric_traits_integer
{
static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0);
static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0);
static const bool __is_signed = ((_Value)(-1) < 0);
static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0));
};
template<typename _Value>
const _Value __numeric_traits_integer<_Value>::__min;
template<typename _Value>
const _Value __numeric_traits_integer<_Value>::__max;
template<typename _Value>
const bool __numeric_traits_integer<_Value>::__is_signed;
template<typename _Value>
const int __numeric_traits_integer<_Value>::__digits;
# 99 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/numeric_traits.h" 3
template<typename _Value>
struct __numeric_traits_floating
{
static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 643L / 2136);
static const bool __is_signed = true;
static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18);
static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932);
};
template<typename _Value>
const int __numeric_traits_floating<_Value>::__max_digits10;
template<typename _Value>
const bool __numeric_traits_floating<_Value>::__is_signed;
template<typename _Value>
const int __numeric_traits_floating<_Value>::__digits10;
template<typename _Value>
const int __numeric_traits_floating<_Value>::__max_exponent10;
template<typename _Value>
struct __numeric_traits
: public __conditional_type<std::__is_integer<_Value>::__value,
__numeric_traits_integer<_Value>,
__numeric_traits_floating<_Value> >::__type
{ };
}
# 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_pair.h" 1 3
# 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_pair.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 1 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/concept_check.h" 1 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/concept_check.h" 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/concept_check.h" 3
# 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _Tp>
inline _Tp*
__addressof(_Tp& __r) noexcept
{
return reinterpret_cast<_Tp*>
(&const_cast<char&>(reinterpret_cast<const volatile char&>(__r)));
}
}
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/type_traits" 1 3
# 32 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/type_traits" 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/type_traits" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 56 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/type_traits" 3
template<typename _Tp, _Tp __v>
struct integral_constant
{
static constexpr _Tp value = __v;
typedef _Tp value_type;
typedef integral_constant<_Tp, __v> type;
constexpr operator value_type() { return value; }
};
typedef integral_constant<bool, true> true_type;
typedef integral_constant<bool, false> false_type;
template<typename _Tp, _Tp __v>
constexpr _Tp integral_constant<_Tp, __v>::value;
template<bool, typename, typename>
struct conditional;
template<typename...>
struct __or_;
template<>
struct __or_<>
: public false_type
{ };
template<typename _B1>
struct __or_<_B1>
: public _B1
{ };
template<typename _B1, typename _B2>
struct __or_<_B1, _B2>
: public conditional<_B1::value, _B1, _B2>::type
{ };
template<typename _B1, typename _B2, typename _B3, typename... _Bn>
struct __or_<_B1, _B2, _B3, _Bn...>
: public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type
{ };
template<typename...>
struct __and_;
template<>
struct __and_<>
: public true_type
{ };
template<typename _B1>
struct __and_<_B1>
: public _B1
{ };
template<typename _B1, typename _B2>
struct __and_<_B1, _B2>
: public conditional<_B1::value, _B2, _B1>::type
{ };
template<typename _B1, typename _B2, typename _B3, typename... _Bn>
struct __and_<_B1, _B2, _B3, _Bn...>
: public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type
{ };
template<typename _Pp>
struct __not_
: public integral_constant<bool, !_Pp::value>
{ };
struct __sfinae_types
{
typedef char __one;
typedef struct { char __arr[2]; } __two;
};
template<typename>
struct remove_cv;
template<typename>
struct __is_void_helper
: public false_type { };
template<>
struct __is_void_helper<void>
: public true_type { };
template<typename _Tp>
struct is_void
: public integral_constant<bool, (__is_void_helper<typename
remove_cv<_Tp>::type>::value)>
{ };
template<typename>
struct __is_integral_helper
: public false_type { };
template<>
struct __is_integral_helper<bool>
: public true_type { };
template<>
struct __is_integral_helper<char>
: public true_type { };
template<>
struct __is_integral_helper<signed char>
: public true_type { };
template<>
struct __is_integral_helper<unsigned char>
: public true_type { };
template<>
struct __is_integral_helper<wchar_t>
: public true_type { };
template<>
struct __is_integral_helper<char16_t>
: public true_type { };
template<>
struct __is_integral_helper<char32_t>
: public true_type { };
template<>
struct __is_integral_helper<short>
: public true_type { };
template<>
struct __is_integral_helper<unsigned short>
: public true_type { };
template<>
struct __is_integral_helper<int>
: public true_type { };
template<>
struct __is_integral_helper<unsigned int>
: public true_type { };
template<>
struct __is_integral_helper<long>
: public true_type { };
template<>
struct __is_integral_helper<unsigned long>
: public true_type { };
template<>
struct __is_integral_helper<long long>
: public true_type { };
template<>
struct __is_integral_helper<unsigned long long>
: public true_type { };
template<>
struct __is_integral_helper<__int128>
: public true_type { };
template<>
struct __is_integral_helper<unsigned __int128>
: public true_type { };
template<typename _Tp>
struct is_integral
: public integral_constant<bool, (__is_integral_helper<typename
remove_cv<_Tp>::type>::value)>
{ };
template<typename>
struct __is_floating_point_helper
: public false_type { };
template<>
struct __is_floating_point_helper<float>
: public true_type { };
template<>
struct __is_floating_point_helper<double>
: public true_type { };
template<>
struct __is_floating_point_helper<long double>
: public true_type { };
template<>
struct __is_floating_point_helper<__float128>
: public true_type { };
template<typename _Tp>
struct is_floating_point
: public integral_constant<bool, (__is_floating_point_helper<typename
remove_cv<_Tp>::type>::value)>
{ };
template<typename>
struct is_array
: public false_type { };
template<typename _Tp, std::size_t _Size>
struct is_array<_Tp[_Size]>
: public true_type { };
template<typename _Tp>
struct is_array<_Tp[]>
: public true_type { };
template<typename>
struct __is_pointer_helper
: public false_type { };
template<typename _Tp>
struct __is_pointer_helper<_Tp*>
: public true_type { };
template<typename _Tp>
struct is_pointer
: public integral_constant<bool, (__is_pointer_helper<typename
remove_cv<_Tp>::type>::value)>
{ };
template<typename>
struct is_lvalue_reference
: public false_type { };
template<typename _Tp>
struct is_lvalue_reference<_Tp&>
: public true_type { };
template<typename>
struct is_rvalue_reference
: public false_type { };
template<typename _Tp>
struct is_rvalue_reference<_Tp&&>
: public true_type { };
template<typename>
struct is_function;
template<typename>
struct __is_member_object_pointer_helper
: public false_type { };
template<typename _Tp, typename _Cp>
struct __is_member_object_pointer_helper<_Tp _Cp::*>
: public integral_constant<bool, !is_function<_Tp>::value> { };
template<typename _Tp>
struct is_member_object_pointer
: public integral_constant<bool, (__is_member_object_pointer_helper<
typename remove_cv<_Tp>::type>::value)>
{ };
template<typename>
struct __is_member_function_pointer_helper
: public false_type { };
template<typename _Tp, typename _Cp>
struct __is_member_function_pointer_helper<_Tp _Cp::*>
: public integral_constant<bool, is_function<_Tp>::value> { };
template<typename _Tp>
struct is_member_function_pointer
: public integral_constant<bool, (__is_member_function_pointer_helper<
typename remove_cv<_Tp>::type>::value)>
{ };
template<typename _Tp>
struct is_enum
: public integral_constant<bool, __is_enum(_Tp)>
{ };
template<typename _Tp>
struct is_union
: public integral_constant<bool, __is_union(_Tp)>
{ };
template<typename _Tp>
struct is_class
: public integral_constant<bool, __is_class(_Tp)>
{ };
template<typename>
struct is_function
: public false_type { };
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes...)>
: public true_type { };
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes......)>
: public true_type { };
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes...) const>
: public true_type { };
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes......) const>
: public true_type { };
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes...) volatile>
: public true_type { };
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes......) volatile>
: public true_type { };
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes...) const volatile>
: public true_type { };
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes......) const volatile>
: public true_type { };
template<typename>
struct __is_nullptr_t_helper
: public false_type { };
template<>
struct __is_nullptr_t_helper<std::nullptr_t>
: public true_type { };
template<typename _Tp>
struct __is_nullptr_t
: public integral_constant<bool, (__is_nullptr_t_helper<typename
remove_cv<_Tp>::type>::value)>
{ };
template<typename _Tp>
struct is_reference
: public __or_<is_lvalue_reference<_Tp>,
is_rvalue_reference<_Tp>>::type
{ };
template<typename _Tp>
struct is_arithmetic
: public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
{ };
template<typename _Tp>
struct is_fundamental
: public __or_<is_arithmetic<_Tp>, is_void<_Tp>>::type
{ };
template<typename _Tp>
struct is_object
: public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
is_void<_Tp>>>::type
{ };
template<typename>
struct is_member_pointer;
template<typename _Tp>
struct is_scalar
: public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
is_member_pointer<_Tp>, __is_nullptr_t<_Tp>>::type
{ };
template<typename _Tp>
struct is_compound
: public integral_constant<bool, !is_fundamental<_Tp>::value> { };
template<typename _Tp>
struct __is_member_pointer_helper
: public false_type { };
template<typename _Tp, typename _Cp>
struct __is_member_pointer_helper<_Tp _Cp::*>
: public true_type { };
template<typename _Tp>
struct is_member_pointer
: public integral_constant<bool, (__is_member_pointer_helper<
typename remove_cv<_Tp>::type>::value)>
{ };
template<typename>
struct is_const
: public false_type { };
template<typename _Tp>
struct is_const<_Tp const>
: public true_type { };
template<typename>
struct is_volatile
: public false_type { };
template<typename _Tp>
struct is_volatile<_Tp volatile>
: public true_type { };
template<typename _Tp>
struct is_trivial
: public integral_constant<bool, __is_trivial(_Tp)>
{ };
template<typename _Tp>
struct is_standard_layout
: public integral_constant<bool, __is_standard_layout(_Tp)>
{ };
template<typename _Tp>
struct is_pod
: public integral_constant<bool, __is_pod(_Tp)>
{ };
template<typename _Tp>
struct is_literal_type
: public integral_constant<bool, __is_literal_type(_Tp)>
{ };
template<typename _Tp>
struct is_empty
: public integral_constant<bool, __is_empty(_Tp)>
{ };
template<typename _Tp>
struct is_polymorphic
: public integral_constant<bool, __is_polymorphic(_Tp)>
{ };
template<typename _Tp>
struct is_abstract
: public integral_constant<bool, __is_abstract(_Tp)>
{ };
template<typename _Tp,
bool = is_integral<_Tp>::value,
bool = is_floating_point<_Tp>::value>
struct __is_signed_helper
: public false_type { };
template<typename _Tp>
struct __is_signed_helper<_Tp, false, true>
: public true_type { };
template<typename _Tp>
struct __is_signed_helper<_Tp, true, false>
: public integral_constant<bool, static_cast<bool>(_Tp(-1) < _Tp(0))>
{ };
template<typename _Tp>
struct is_signed
: public integral_constant<bool, __is_signed_helper<_Tp>::value>
{ };
template<typename _Tp>
struct is_unsigned
: public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>::type
{ };
template<typename>
struct add_rvalue_reference;
template<typename _Tp>
typename add_rvalue_reference<_Tp>::type declval() noexcept;
template<typename, unsigned = 0>
struct extent;
template<typename>
struct remove_all_extents;
template<typename _Tp>
struct __is_array_known_bounds
: public integral_constant<bool, (extent<_Tp>::value > 0)>
{ };
template<typename _Tp>
struct __is_array_unknown_bounds
: public __and_<is_array<_Tp>, __not_<extent<_Tp>>>::type
{ };
struct __do_is_destructible_impl_1
{
template<typename _Up>
struct __w { _Up __u; };
template<typename _Tp, typename
= decltype(declval<__w<_Tp>&>().~__w<_Tp>())>
static true_type __test(int);
template<typename>
static false_type __test(...);
};
template<typename _Tp>
struct __is_destructible_impl_1
: public __do_is_destructible_impl_1
{
typedef decltype(__test<_Tp>(0)) type;
};
struct __do_is_destructible_impl_2
{
template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
static true_type __test(int);
template<typename>
static false_type __test(...);
};
template<typename _Tp>
struct __is_destructible_impl_2
: public __do_is_destructible_impl_2
{
typedef decltype(__test<_Tp>(0)) type;
};
template<typename _Tp,
bool = __or_<is_void<_Tp>,
__is_array_unknown_bounds<_Tp>>::value,
bool = __or_<is_reference<_Tp>, is_function<_Tp>>::value>
struct __is_destructible_safe;
template<typename _Tp>
struct __is_destructible_safe<_Tp, false, false>
: public conditional<is_abstract<_Tp>::value,
__is_destructible_impl_2<_Tp>,
__is_destructible_impl_1<_Tp>>::type::type
{ };
template<typename _Tp>
struct __is_destructible_safe<_Tp, true, false>
: public false_type { };
template<typename _Tp>
struct __is_destructible_safe<_Tp, false, true>
: public true_type { };
template<typename _Tp>
struct is_destructible
: public integral_constant<bool, (__is_destructible_safe<_Tp>::value)>
{ };
struct __do_is_default_constructible_impl
{
template<typename _Tp, typename = decltype(_Tp())>
static true_type __test(int);
template<typename>
static false_type __test(...);
};
template<typename _Tp>
struct __is_default_constructible_impl
: public __do_is_default_constructible_impl
{
typedef decltype(__test<_Tp>(0)) type;
};
template<typename _Tp>
struct __is_default_constructible_atom
: public __and_<__not_<is_void<_Tp>>,
__is_default_constructible_impl<_Tp>>::type
{ };
template<typename _Tp, bool = is_array<_Tp>::value>
struct __is_default_constructible_safe;
template<typename _Tp>
struct __is_default_constructible_safe<_Tp, true>
: public __and_<__is_array_known_bounds<_Tp>,
__is_default_constructible_atom<typename
remove_all_extents<_Tp>::type>>::type
{ };
template<typename _Tp>
struct __is_default_constructible_safe<_Tp, false>
: public __is_default_constructible_atom<_Tp>::type
{ };
template<typename _Tp>
struct is_default_constructible
: public integral_constant<bool, (__is_default_constructible_safe<
_Tp>::value)>
{ };
# 726 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/type_traits" 3
struct __do_is_static_castable_impl
{
template<typename _From, typename _To, typename
= decltype(static_cast<_To>(declval<_From>()))>
static true_type __test(int);
template<typename, typename>
static false_type __test(...);
};
template<typename _From, typename _To>
struct __is_static_castable_impl
: public __do_is_static_castable_impl
{
typedef decltype(__test<_From, _To>(0)) type;
};
template<typename _From, typename _To>
struct __is_static_castable_safe
: public __is_static_castable_impl<_From, _To>::type
{ };
template<typename _From, typename _To>
struct __is_static_castable
: public integral_constant<bool, (__is_static_castable_safe<
_From, _To>::value)>
{ };
struct __do_is_direct_constructible_impl
{
template<typename _Tp, typename _Arg, typename
= decltype(::new _Tp(declval<_Arg>()))>
static true_type __test(int);
template<typename, typename>
static false_type __test(...);
};
template<typename _Tp, typename _Arg>
struct __is_direct_constructible_impl
: public __do_is_direct_constructible_impl
{
typedef decltype(__test<_Tp, _Arg>(0)) type;
};
template<typename _Tp, typename _Arg>
struct __is_direct_constructible_new_safe
: public __and_<is_destructible<_Tp>,
__is_direct_constructible_impl<_Tp, _Arg>>::type
{ };
template<typename, typename>
struct is_same;
template<typename, typename>
struct is_base_of;
template<typename>
struct remove_reference;
template<typename _From, typename _To, bool
= __not_<__or_<is_void<_From>,
is_function<_From>>>::value>
struct __is_base_to_derived_ref;
template<typename _From, typename _To>
struct __is_base_to_derived_ref<_From, _To, true>
{
typedef typename remove_cv<typename remove_reference<_From
>::type>::type __src_t;
typedef typename remove_cv<typename remove_reference<_To
>::type>::type __dst_t;
typedef __and_<__not_<is_same<__src_t, __dst_t>>,
is_base_of<__src_t, __dst_t>> type;
static constexpr bool value = type::value;
};
template<typename _From, typename _To>
struct __is_base_to_derived_ref<_From, _To, false>
: public false_type
{ };
template<typename _From, typename _To, bool
= __and_<is_lvalue_reference<_From>,
is_rvalue_reference<_To>>::value>
struct __is_lvalue_to_rvalue_ref;
template<typename _From, typename _To>
struct __is_lvalue_to_rvalue_ref<_From, _To, true>
{
typedef typename remove_cv<typename remove_reference<
_From>::type>::type __src_t;
typedef typename remove_cv<typename remove_reference<
_To>::type>::type __dst_t;
typedef __and_<__not_<is_function<__src_t>>,
__or_<is_same<__src_t, __dst_t>,
is_base_of<__dst_t, __src_t>>> type;
static constexpr bool value = type::value;
};
template<typename _From, typename _To>
struct __is_lvalue_to_rvalue_ref<_From, _To, false>
: public false_type
{ };
template<typename _Tp, typename _Arg>
struct __is_direct_constructible_ref_cast
: public __and_<__is_static_castable<_Arg, _Tp>,
__not_<__or_<__is_base_to_derived_ref<_Arg, _Tp>,
__is_lvalue_to_rvalue_ref<_Arg, _Tp>
>>>::type
{ };
template<typename _Tp, typename _Arg>
struct __is_direct_constructible_new
: public conditional<is_reference<_Tp>::value,
__is_direct_constructible_ref_cast<_Tp, _Arg>,
__is_direct_constructible_new_safe<_Tp, _Arg>
>::type
{ };
template<typename _Tp, typename _Arg>
struct __is_direct_constructible
: public integral_constant<bool, (__is_direct_constructible_new<
_Tp, _Arg>::value)>
{ };
struct __do_is_nary_constructible_impl
{
template<typename _Tp, typename... _Args, typename
= decltype(_Tp(declval<_Args>()...))>
static true_type __test(int);
template<typename, typename...>
static false_type __test(...);
};
template<typename _Tp, typename... _Args>
struct __is_nary_constructible_impl
: public __do_is_nary_constructible_impl
{
typedef decltype(__test<_Tp, _Args...>(0)) type;
};
template<typename _Tp, typename... _Args>
struct __is_nary_constructible
: public __is_nary_constructible_impl<_Tp, _Args...>::type
{
static_assert(sizeof...(_Args) > 1,
"Only useful for > 1 arguments");
};
template<typename _Tp, typename... _Args>
struct __is_constructible_impl
: public __is_nary_constructible<_Tp, _Args...>
{ };
template<typename _Tp, typename _Arg>
struct __is_constructible_impl<_Tp, _Arg>
: public __is_direct_constructible<_Tp, _Arg>
{ };
template<typename _Tp>
struct __is_constructible_impl<_Tp>
: public is_default_constructible<_Tp>
{ };
template<typename _Tp, typename... _Args>
struct is_constructible
: public integral_constant<bool, (__is_constructible_impl<_Tp,
_Args...>::value)>
{ };
template<typename _Tp, bool = is_void<_Tp>::value>
struct __is_copy_constructible_impl;
template<typename _Tp>
struct __is_copy_constructible_impl<_Tp, true>
: public false_type { };
template<typename _Tp>
struct __is_copy_constructible_impl<_Tp, false>
: public is_constructible<_Tp, const _Tp&>
{ };
template<typename _Tp>
struct is_copy_constructible
: public __is_copy_constructible_impl<_Tp>
{ };
template<typename _Tp, bool = is_void<_Tp>::value>
struct __is_move_constructible_impl;
template<typename _Tp>
struct __is_move_constructible_impl<_Tp, true>
: public false_type { };
template<typename _Tp>
struct __is_move_constructible_impl<_Tp, false>
: public is_constructible<_Tp, _Tp&&>
{ };
template<typename _Tp>
struct is_move_constructible
: public __is_move_constructible_impl<_Tp>
{ };
template<typename _Tp>
struct __is_nt_default_constructible_atom
: public integral_constant<bool, noexcept(_Tp())>
{ };
template<typename _Tp, bool = is_array<_Tp>::value>
struct __is_nt_default_constructible_impl;
template<typename _Tp>
struct __is_nt_default_constructible_impl<_Tp, true>
: public __and_<__is_array_known_bounds<_Tp>,
__is_nt_default_constructible_atom<typename
remove_all_extents<_Tp>::type>>::type
{ };
template<typename _Tp>
struct __is_nt_default_constructible_impl<_Tp, false>
: public __is_nt_default_constructible_atom<_Tp>
{ };
template<typename _Tp>
struct is_nothrow_default_constructible
: public __and_<is_default_constructible<_Tp>,
__is_nt_default_constructible_impl<_Tp>>::type
{ };
template<typename _Tp, typename... _Args>
struct __is_nt_constructible_impl
: public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))>
{ };
template<typename _Tp, typename _Arg>
struct __is_nt_constructible_impl<_Tp, _Arg>
: public integral_constant<bool,
noexcept(static_cast<_Tp>(declval<_Arg>()))>
{ };
template<typename _Tp>
struct __is_nt_constructible_impl<_Tp>
: public is_nothrow_default_constructible<_Tp>
{ };
template<typename _Tp, typename... _Args>
struct is_nothrow_constructible
: public __and_<is_constructible<_Tp, _Args...>,
__is_nt_constructible_impl<_Tp, _Args...>>::type
{ };
template<typename _Tp, bool = is_void<_Tp>::value>
struct __is_nothrow_copy_constructible_impl;
template<typename _Tp>
struct __is_nothrow_copy_constructible_impl<_Tp, true>
: public false_type { };
template<typename _Tp>
struct __is_nothrow_copy_constructible_impl<_Tp, false>
: public is_nothrow_constructible<_Tp, const _Tp&>
{ };
template<typename _Tp>
struct is_nothrow_copy_constructible
: public __is_nothrow_copy_constructible_impl<_Tp>
{ };
template<typename _Tp, bool = is_void<_Tp>::value>
struct __is_nothrow_move_constructible_impl;
template<typename _Tp>
struct __is_nothrow_move_constructible_impl<_Tp, true>
: public false_type { };
template<typename _Tp>
struct __is_nothrow_move_constructible_impl<_Tp, false>
: public is_nothrow_constructible<_Tp, _Tp&&>
{ };
template<typename _Tp>
struct is_nothrow_move_constructible
: public __is_nothrow_move_constructible_impl<_Tp>
{ };
template<typename _Tp, typename _Up>
class __is_assignable_helper
: public __sfinae_types
{
template<typename _Tp1, typename _Up1>
static decltype(declval<_Tp1>() = declval<_Up1>(), __one())
__test(int);
template<typename, typename>
static __two __test(...);
public:
static constexpr bool value = sizeof(__test<_Tp, _Up>(0)) == 1;
};
template<typename _Tp, typename _Up>
struct is_assignable
: public integral_constant<bool,
__is_assignable_helper<_Tp, _Up>::value>
{ };
template<typename _Tp, bool = is_void<_Tp>::value>
struct __is_copy_assignable_impl;
template<typename _Tp>
struct __is_copy_assignable_impl<_Tp, true>
: public false_type { };
template<typename _Tp>
struct __is_copy_assignable_impl<_Tp, false>
: public is_assignable<_Tp&, const _Tp&>
{ };
template<typename _Tp>
struct is_copy_assignable
: public __is_copy_assignable_impl<_Tp>
{ };
template<typename _Tp, bool = is_void<_Tp>::value>
struct __is_move_assignable_impl;
template<typename _Tp>
struct __is_move_assignable_impl<_Tp, true>
: public false_type { };
template<typename _Tp>
struct __is_move_assignable_impl<_Tp, false>
: public is_assignable<_Tp&, _Tp&&>
{ };
template<typename _Tp>
struct is_move_assignable
: public __is_move_assignable_impl<_Tp>
{ };
template<typename _Tp, typename _Up>
struct __is_nt_assignable_impl
: public integral_constant<bool, noexcept(declval<_Tp>() = declval<_Up>())>
{ };
template<typename _Tp, typename _Up>
struct is_nothrow_assignable
: public __and_<is_assignable<_Tp, _Up>,
__is_nt_assignable_impl<_Tp, _Up>>::type
{ };
template<typename _Tp, bool = is_void<_Tp>::value>
struct __is_nt_copy_assignable_impl;
template<typename _Tp>
struct __is_nt_copy_assignable_impl<_Tp, true>
: public false_type { };
template<typename _Tp>
struct __is_nt_copy_assignable_impl<_Tp, false>
: public is_nothrow_assignable<_Tp&, const _Tp&>
{ };
template<typename _Tp>
struct is_nothrow_copy_assignable
: public __is_nt_copy_assignable_impl<_Tp>
{ };
template<typename _Tp, bool = is_void<_Tp>::value>
struct __is_nt_move_assignable_impl;
template<typename _Tp>
struct __is_nt_move_assignable_impl<_Tp, true>
: public false_type { };
template<typename _Tp>
struct __is_nt_move_assignable_impl<_Tp, false>
: public is_nothrow_assignable<_Tp&, _Tp&&>
{ };
template<typename _Tp>
struct is_nothrow_move_assignable
: public __is_nt_move_assignable_impl<_Tp>
{ };
template<typename _Tp>
struct has_trivial_default_constructor
: public integral_constant<bool, __has_trivial_constructor(_Tp)>
{ };
template<typename _Tp>
struct has_trivial_copy_constructor
: public integral_constant<bool, __has_trivial_copy(_Tp)>
{ };
template<typename _Tp>
struct has_trivial_copy_assign
: public integral_constant<bool, __has_trivial_assign(_Tp)>
{ };
template<typename _Tp>
struct has_trivial_destructor
: public integral_constant<bool, __has_trivial_destructor(_Tp)>
{ };
template<typename _Tp>
struct has_virtual_destructor
: public integral_constant<bool, __has_virtual_destructor(_Tp)>
{ };
template<typename _Tp>
struct alignment_of
: public integral_constant<std::size_t, __alignof__(_Tp)> { };
template<typename>
struct rank
: public integral_constant<std::size_t, 0> { };
template<typename _Tp, std::size_t _Size>
struct rank<_Tp[_Size]>
: public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
template<typename _Tp>
struct rank<_Tp[]>
: public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
template<typename, unsigned _Uint>
struct extent
: public integral_constant<std::size_t, 0> { };
template<typename _Tp, unsigned _Uint, std::size_t _Size>
struct extent<_Tp[_Size], _Uint>
: public integral_constant<std::size_t,
_Uint == 0 ? _Size : extent<_Tp,
_Uint - 1>::value>
{ };
template<typename _Tp, unsigned _Uint>
struct extent<_Tp[], _Uint>
: public integral_constant<std::size_t,
_Uint == 0 ? 0 : extent<_Tp,
_Uint - 1>::value>
{ };
template<typename, typename>
struct is_same
: public false_type { };
template<typename _Tp>
struct is_same<_Tp, _Tp>
: public true_type { };
template<typename _Base, typename _Derived>
struct is_base_of
: public integral_constant<bool, __is_base_of(_Base, _Derived)>
{ };
template<typename _From, typename _To,
bool = __or_<is_void<_From>, is_function<_To>,
is_array<_To>>::value>
struct __is_convertible_helper
{ static constexpr bool value = is_void<_To>::value; };
template<typename _From, typename _To>
class __is_convertible_helper<_From, _To, false>
: public __sfinae_types
{
template<typename _To1>
static void __test_aux(_To1);
template<typename _From1, typename _To1>
static decltype(__test_aux<_To1>(std::declval<_From1>()), __one())
__test(int);
template<typename, typename>
static __two __test(...);
public:
static constexpr bool value = sizeof(__test<_From, _To>(0)) == 1;
};
template<typename _From, typename _To>
struct is_convertible
: public integral_constant<bool,
__is_convertible_helper<_From, _To>::value>
{ };
template<typename _From, typename _To>
struct is_explicitly_convertible
: public is_constructible<_To, _From>
{ };
template<typename _Tp>
struct remove_const
{ typedef _Tp type; };
template<typename _Tp>
struct remove_const<_Tp const>
{ typedef _Tp type; };
template<typename _Tp>
struct remove_volatile
{ typedef _Tp type; };
template<typename _Tp>
struct remove_volatile<_Tp volatile>
{ typedef _Tp type; };
template<typename _Tp>
struct remove_cv
{
typedef typename
remove_const<typename remove_volatile<_Tp>::type>::type type;
};
template<typename _Tp>
struct add_const
{ typedef _Tp const type; };
template<typename _Tp>
struct add_volatile
{ typedef _Tp volatile type; };
template<typename _Tp>
struct add_cv
{
typedef typename
add_const<typename add_volatile<_Tp>::type>::type type;
};
template<typename _Tp>
struct remove_reference
{ typedef _Tp type; };
template<typename _Tp>
struct remove_reference<_Tp&>
{ typedef _Tp type; };
template<typename _Tp>
struct remove_reference<_Tp&&>
{ typedef _Tp type; };
template<typename _Tp,
bool = __and_<__not_<is_reference<_Tp>>,
__not_<is_void<_Tp>>>::value,
bool = is_rvalue_reference<_Tp>::value>
struct __add_lvalue_reference_helper
{ typedef _Tp type; };
template<typename _Tp>
struct __add_lvalue_reference_helper<_Tp, true, false>
{ typedef _Tp& type; };
template<typename _Tp>
struct __add_lvalue_reference_helper<_Tp, false, true>
{ typedef typename remove_reference<_Tp>::type& type; };
template<typename _Tp>
struct add_lvalue_reference
: public __add_lvalue_reference_helper<_Tp>
{ };
template<typename _Tp,
bool = __and_<__not_<is_reference<_Tp>>,
__not_<is_void<_Tp>>>::value>
struct __add_rvalue_reference_helper
{ typedef _Tp type; };
template<typename _Tp>
struct __add_rvalue_reference_helper<_Tp, true>
{ typedef _Tp&& type; };
template<typename _Tp>
struct add_rvalue_reference
: public __add_rvalue_reference_helper<_Tp>
{ };
template<typename _Unqualified, bool _IsConst, bool _IsVol>
struct __cv_selector;
template<typename _Unqualified>
struct __cv_selector<_Unqualified, false, false>
{ typedef _Unqualified __type; };
template<typename _Unqualified>
struct __cv_selector<_Unqualified, false, true>
{ typedef volatile _Unqualified __type; };
template<typename _Unqualified>
struct __cv_selector<_Unqualified, true, false>
{ typedef const _Unqualified __type; };
template<typename _Unqualified>
struct __cv_selector<_Unqualified, true, true>
{ typedef const volatile _Unqualified __type; };
template<typename _Qualified, typename _Unqualified,
bool _IsConst = is_const<_Qualified>::value,
bool _IsVol = is_volatile<_Qualified>::value>
class __match_cv_qualifiers
{
typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
public:
typedef typename __match::__type __type;
};
template<typename _Tp>
struct __make_unsigned
{ typedef _Tp __type; };
template<>
struct __make_unsigned<char>
{ typedef unsigned char __type; };
template<>
struct __make_unsigned<signed char>
{ typedef unsigned char __type; };
template<>
struct __make_unsigned<short>
{ typedef unsigned short __type; };
template<>
struct __make_unsigned<int>
{ typedef unsigned int __type; };
template<>
struct __make_unsigned<long>
{ typedef unsigned long __type; };
template<>
struct __make_unsigned<long long>
{ typedef unsigned long long __type; };
template<>
struct __make_unsigned<__int128>
{ typedef unsigned __int128 __type; };
template<typename _Tp,
bool _IsInt = is_integral<_Tp>::value,
bool _IsEnum = is_enum<_Tp>::value>
class __make_unsigned_selector;
template<typename _Tp>
class __make_unsigned_selector<_Tp, true, false>
{
typedef __make_unsigned<typename remove_cv<_Tp>::type> __unsignedt;
typedef typename __unsignedt::__type __unsigned_type;
typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned;
public:
typedef typename __cv_unsigned::__type __type;
};
template<typename _Tp>
class __make_unsigned_selector<_Tp, false, true>
{
typedef unsigned char __smallest;
static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest);
static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short);
static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int);
typedef conditional<__b2, unsigned int, unsigned long> __cond2;
typedef typename __cond2::type __cond2_type;
typedef conditional<__b1, unsigned short, __cond2_type> __cond1;
typedef typename __cond1::type __cond1_type;
public:
typedef typename conditional<__b0, __smallest, __cond1_type>::type __type;
};
template<typename _Tp>
struct make_unsigned
{ typedef typename __make_unsigned_selector<_Tp>::__type type; };
template<>
struct make_unsigned<bool>;
template<typename _Tp>
struct __make_signed
{ typedef _Tp __type; };
template<>
struct __make_signed<char>
{ typedef signed char __type; };
template<>
struct __make_signed<unsigned char>
{ typedef signed char __type; };
template<>
struct __make_signed<unsigned short>
{ typedef signed short __type; };
template<>
struct __make_signed<unsigned int>
{ typedef signed int __type; };
template<>
struct __make_signed<unsigned long>
{ typedef signed long __type; };
template<>
struct __make_signed<unsigned long long>
{ typedef signed long long __type; };
template<>
struct __make_signed<unsigned __int128>
{ typedef __int128 __type; };
template<typename _Tp,
bool _IsInt = is_integral<_Tp>::value,
bool _IsEnum = is_enum<_Tp>::value>
class __make_signed_selector;
template<typename _Tp>
class __make_signed_selector<_Tp, true, false>
{
typedef __make_signed<typename remove_cv<_Tp>::type> __signedt;
typedef typename __signedt::__type __signed_type;
typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed;
public:
typedef typename __cv_signed::__type __type;
};
template<typename _Tp>
class __make_signed_selector<_Tp, false, true>
{
typedef signed char __smallest;
static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest);
static const bool __b1 = sizeof(_Tp) <= sizeof(signed short);
static const bool __b2 = sizeof(_Tp) <= sizeof(signed int);
typedef conditional<__b2, signed int, signed long> __cond2;
typedef typename __cond2::type __cond2_type;
typedef conditional<__b1, signed short, __cond2_type> __cond1;
typedef typename __cond1::type __cond1_type;
public:
typedef typename conditional<__b0, __smallest, __cond1_type>::type __type;
};
template<typename _Tp>
struct make_signed
{ typedef typename __make_signed_selector<_Tp>::__type type; };
template<>
struct make_signed<bool>;
template<typename _Tp>
struct remove_extent
{ typedef _Tp type; };
template<typename _Tp, std::size_t _Size>
struct remove_extent<_Tp[_Size]>
{ typedef _Tp type; };
template<typename _Tp>
struct remove_extent<_Tp[]>
{ typedef _Tp type; };
template<typename _Tp>
struct remove_all_extents
{ typedef _Tp type; };
template<typename _Tp, std::size_t _Size>
struct remove_all_extents<_Tp[_Size]>
{ typedef typename remove_all_extents<_Tp>::type type; };
template<typename _Tp>
struct remove_all_extents<_Tp[]>
{ typedef typename remove_all_extents<_Tp>::type type; };
template<typename _Tp, typename>
struct __remove_pointer_helper
{ typedef _Tp type; };
template<typename _Tp, typename _Up>
struct __remove_pointer_helper<_Tp, _Up*>
{ typedef _Up type; };
template<typename _Tp>
struct remove_pointer
: public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type>
{ };
template<typename _Tp>
struct add_pointer
{ typedef typename remove_reference<_Tp>::type* type; };
template<std::size_t _Len>
struct __aligned_storage_msa
{
union __type
{
unsigned char __data[_Len];
struct __attribute__((__aligned__)) { } __align;
};
};
# 1643 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/type_traits" 3
template<std::size_t _Len, std::size_t _Align =
__alignof__(typename __aligned_storage_msa<_Len>::__type)>
struct aligned_storage
{
union type
{
unsigned char __data[_Len];
struct __attribute__((__aligned__((_Align)))) { } __align;
};
};
template<typename _Up,
bool _IsArray = is_array<_Up>::value,
bool _IsFunction = is_function<_Up>::value>
struct __decay_selector;
template<typename _Up>
struct __decay_selector<_Up, false, false>
{ typedef typename remove_cv<_Up>::type __type; };
template<typename _Up>
struct __decay_selector<_Up, true, false>
{ typedef typename remove_extent<_Up>::type* __type; };
template<typename _Up>
struct __decay_selector<_Up, false, true>
{ typedef typename add_pointer<_Up>::type __type; };
template<typename _Tp>
class decay
{
typedef typename remove_reference<_Tp>::type __remove_type;
public:
typedef typename __decay_selector<__remove_type>::__type type;
};
template<typename _Tp>
class reference_wrapper;
template<typename _Tp>
struct __strip_reference_wrapper
{
typedef _Tp __type;
};
template<typename _Tp>
struct __strip_reference_wrapper<reference_wrapper<_Tp> >
{
typedef _Tp& __type;
};
template<typename _Tp>
struct __strip_reference_wrapper<const reference_wrapper<_Tp> >
{
typedef _Tp& __type;
};
template<typename _Tp>
struct __decay_and_strip
{
typedef typename __strip_reference_wrapper<
typename decay<_Tp>::type>::__type __type;
};
template<bool, typename _Tp = void>
struct enable_if
{ };
template<typename _Tp>
struct enable_if<true, _Tp>
{ typedef _Tp type; };
template<bool _Cond, typename _Iftrue, typename _Iffalse>
struct conditional
{ typedef _Iftrue type; };
template<typename _Iftrue, typename _Iffalse>
struct conditional<false, _Iftrue, _Iffalse>
{ typedef _Iffalse type; };
template<typename... _Tp>
struct common_type;
template<typename _Tp>
struct common_type<_Tp>
{ typedef _Tp type; };
template<typename _Tp, typename _Up>
struct common_type<_Tp, _Up>
{ typedef decltype(true ? declval<_Tp>() : declval<_Up>()) type; };
template<typename _Tp, typename _Up, typename... _Vp>
struct common_type<_Tp, _Up, _Vp...>
{
typedef typename
common_type<typename common_type<_Tp, _Up>::type, _Vp...>::type type;
};
template<typename _Tp>
struct underlying_type
{
typedef __underlying_type(_Tp) type;
};
template<typename _Tp>
struct __declval_protector
{
static const bool __stop = false;
static typename add_rvalue_reference<_Tp>::type __delegate();
};
template<typename _Tp>
inline typename add_rvalue_reference<_Tp>::type
declval() noexcept
{
static_assert(__declval_protector<_Tp>::__stop,
"declval() must not be used!");
return __declval_protector<_Tp>::__delegate();
}
template<typename _Signature>
class result_of;
template<typename _MemPtr, typename _Arg>
struct _Result_of_memobj;
template<typename _Res, typename _Class, typename _Arg>
struct _Result_of_memobj<_Res _Class::*, _Arg>
{
private:
typedef _Res _Class::* _Func;
template<typename _Tp>
static _Tp _S_get(const _Class&);
template<typename _Tp>
static decltype(*std::declval<_Tp>()) _S_get(...);
public:
typedef
decltype(_S_get<_Arg>(std::declval<_Arg>()).*std::declval<_Func>())
__type;
};
template<typename _MemPtr, typename _Arg, typename... _ArgTypes>
struct _Result_of_memfun;
template<typename _Res, typename _Class, typename _Arg, typename... _Args>
struct _Result_of_memfun<_Res _Class::*, _Arg, _Args...>
{
private:
typedef _Res _Class::* _Func;
template<typename _Tp>
static _Tp _S_get(const _Class&);
template<typename _Tp>
static decltype(*std::declval<_Tp>()) _S_get(...);
public:
typedef
decltype((_S_get<_Arg>(std::declval<_Arg>()).*std::declval<_Func>())
(std::declval<_Args>()...) )
__type;
};
template<bool, bool, typename _Functor, typename... _ArgTypes>
struct _Result_of_impl;
template<typename _Functor, typename... _ArgTypes>
struct _Result_of_impl<false, false, _Functor, _ArgTypes...>
{
typedef
decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) )
__type;
};
template<typename _MemPtr, typename _Arg>
struct _Result_of_impl<true, false, _MemPtr, _Arg>
: _Result_of_memobj<typename remove_reference<_MemPtr>::type, _Arg>
{
typedef typename _Result_of_memobj<
typename remove_reference<_MemPtr>::type, _Arg>::__type
__type;
};
template<typename _MemPtr, typename _Arg, typename... _ArgTypes>
struct _Result_of_impl<false, true, _MemPtr, _Arg, _ArgTypes...>
: _Result_of_memfun<typename remove_reference<_MemPtr>::type, _Arg,
_ArgTypes...>
{
typedef typename _Result_of_memfun<
typename remove_reference<_MemPtr>::type, _Arg, _ArgTypes...>::__type
__type;
};
template<typename _Functor, typename... _ArgTypes>
struct result_of<_Functor(_ArgTypes...)>
: _Result_of_impl<is_member_object_pointer<
typename remove_reference<_Functor>::type >::value,
is_member_function_pointer<
typename remove_reference<_Functor>::type >::value,
_Functor, _ArgTypes...>
{
typedef typename _Result_of_impl<
is_member_object_pointer<
typename remove_reference<_Functor>::type >::value,
is_member_function_pointer<
typename remove_reference<_Functor>::type >::value,
_Functor, _ArgTypes...>::__type
type;
};
# 1903 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/type_traits" 3
}
# 58 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 75 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 3
template<typename _Tp>
constexpr _Tp&&
forward(typename std::remove_reference<_Tp>::type& __t) noexcept
{ return static_cast<_Tp&&>(__t); }
template<typename _Tp>
constexpr _Tp&&
forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
{
static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument"
" substituting _Tp is an lvalue reference type");
return static_cast<_Tp&&>(__t);
}
template<typename _Tp>
constexpr typename std::remove_reference<_Tp>::type&&
move(_Tp&& __t) noexcept
{ return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
template<typename _Tp>
struct __move_if_noexcept_cond
: public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
is_copy_constructible<_Tp>>::type { };
# 119 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 3
template<typename _Tp>
inline typename
conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type
move_if_noexcept(_Tp& __x) noexcept
{ return std::move(__x); }
# 134 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 3
template<typename _Tp>
inline _Tp*
addressof(_Tp& __r) noexcept
{ return std::__addressof(__r); }
}
# 150 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 165 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/move.h" 3
template<typename _Tp>
inline void
swap(_Tp& __a, _Tp& __b)
noexcept(__and_<is_nothrow_move_constructible<_Tp>,
is_nothrow_move_assignable<_Tp>>::value)
{
_Tp __tmp = std::move(__a);
__a = std::move(__b);
__b = std::move(__tmp);
}
template<typename _Tp, size_t _Nm>
inline void
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
noexcept(noexcept(swap(*__a, *__b)))
{
for (size_t __n = 0; __n < _Nm; ++__n)
swap(__a[__n], __b[__n]);
}
}
# 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_pair.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
struct piecewise_construct_t { };
constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t();
template<typename...>
class tuple;
template<std::size_t...>
struct _Index_tuple;
template<class _T1, class _T2>
struct pair
{
typedef _T1 first_type;
typedef _T2 second_type;
_T1 first;
_T2 second;
constexpr pair()
: first(), second() { }
constexpr pair(const _T1& __a, const _T2& __b)
: first(__a), second(__b) { }
template<class _U1, class _U2, class = typename
enable_if<__and_<is_convertible<const _U1&, _T1>,
is_convertible<const _U2&, _T2>>::value>::type>
constexpr pair(const pair<_U1, _U2>& __p)
: first(__p.first), second(__p.second) { }
constexpr pair(const pair&) = default;
constexpr pair(pair&&) = default;
template<class _U1, class = typename
enable_if<is_convertible<_U1, _T1>::value>::type>
constexpr pair(_U1&& __x, const _T2& __y)
: first(std::forward<_U1>(__x)), second(__y) { }
template<class _U2, class = typename
enable_if<is_convertible<_U2, _T2>::value>::type>
constexpr pair(const _T1& __x, _U2&& __y)
: first(__x), second(std::forward<_U2>(__y)) { }
template<class _U1, class _U2, class = typename
enable_if<__and_<is_convertible<_U1, _T1>,
is_convertible<_U2, _T2>>::value>::type>
constexpr pair(_U1&& __x, _U2&& __y)
: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
template<class _U1, class _U2, class = typename
enable_if<__and_<is_convertible<_U1, _T1>,
is_convertible<_U2, _T2>>::value>::type>
constexpr pair(pair<_U1, _U2>&& __p)
: first(std::forward<_U1>(__p.first)),
second(std::forward<_U2>(__p.second)) { }
template<typename... _Args1, typename... _Args2>
pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
pair&
operator=(const pair& __p)
{
first = __p.first;
second = __p.second;
return *this;
}
pair&
operator=(pair&& __p)
noexcept(__and_<is_nothrow_move_assignable<_T1>,
is_nothrow_move_assignable<_T2>>::value)
{
first = std::forward<first_type>(__p.first);
second = std::forward<second_type>(__p.second);
return *this;
}
template<class _U1, class _U2>
pair&
operator=(const pair<_U1, _U2>& __p)
{
first = __p.first;
second = __p.second;
return *this;
}
template<class _U1, class _U2>
pair&
operator=(pair<_U1, _U2>&& __p)
{
first = std::forward<_U1>(__p.first);
second = std::forward<_U2>(__p.second);
return *this;
}
void
swap(pair& __p)
noexcept(noexcept(swap(first, __p.first))
&& noexcept(swap(second, __p.second)))
{
using std::swap;
swap(first, __p.first);
swap(second, __p.second);
}
private:
template<typename... _Args1, std::size_t... _Indexes1,
typename... _Args2, std::size_t... _Indexes2>
pair(tuple<_Args1...>&, tuple<_Args2...>&,
_Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
};
template<class _T1, class _T2>
inline constexpr bool
operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{ return __x.first == __y.first && __x.second == __y.second; }
template<class _T1, class _T2>
inline constexpr bool
operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{ return __x.first < __y.first
|| (!(__y.first < __x.first) && __x.second < __y.second); }
template<class _T1, class _T2>
inline constexpr bool
operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{ return !(__x == __y); }
template<class _T1, class _T2>
inline constexpr bool
operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{ return __y < __x; }
template<class _T1, class _T2>
inline constexpr bool
operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{ return !(__y < __x); }
template<class _T1, class _T2>
inline constexpr bool
operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{ return !(__x < __y); }
template<class _T1, class _T2>
inline void
swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
noexcept(noexcept(__x.swap(__y)))
{ __x.swap(__y); }
# 265 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_pair.h" 3
template<class _T1, class _T2>
constexpr pair<typename __decay_and_strip<_T1>::__type,
typename __decay_and_strip<_T2>::__type>
make_pair(_T1&& __x, _T2&& __y)
{
typedef typename __decay_and_strip<_T1>::__type __ds_type1;
typedef typename __decay_and_strip<_T2>::__type __ds_type2;
typedef pair<__ds_type1, __ds_type2> __pair_type;
return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
}
}
# 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_types.h" 1 3
# 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_types.h" 3
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_types.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 90 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_types.h" 3
struct input_iterator_tag { };
struct output_iterator_tag { };
struct forward_iterator_tag : public input_iterator_tag { };
struct bidirectional_iterator_tag : public forward_iterator_tag { };
struct random_access_iterator_tag : public bidirectional_iterator_tag { };
# 117 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_types.h" 3
template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
typename _Pointer = _Tp*, typename _Reference = _Tp&>
struct iterator
{
typedef _Category iterator_category;
typedef _Tp value_type;
typedef _Distance difference_type;
typedef _Pointer pointer;
typedef _Reference reference;
};
# 143 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_types.h" 3
template<typename _Tp> class __has_iterator_category_helper : __sfinae_types { template<typename _Up> struct _Wrap_type { }; template<typename _Up> static __one __test(_Wrap_type<typename _Up::iterator_category>*); template<typename _Up> static __two __test(...); public: static constexpr bool value = sizeof(__test<_Tp>(0)) == 1; }; template<typename _Tp> struct __has_iterator_category : integral_constant<bool, __has_iterator_category_helper <typename remove_cv<_Tp>::type>::value> { };
template<typename _Iterator,
bool = __has_iterator_category<_Iterator>::value>
struct __iterator_traits { };
template<typename _Iterator>
struct __iterator_traits<_Iterator, true>
{
typedef typename _Iterator::iterator_category iterator_category;
typedef typename _Iterator::value_type value_type;
typedef typename _Iterator::difference_type difference_type;
typedef typename _Iterator::pointer pointer;
typedef typename _Iterator::reference reference;
};
template<typename _Iterator>
struct iterator_traits
: public __iterator_traits<_Iterator> { };
# 175 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_types.h" 3
template<typename _Tp>
struct iterator_traits<_Tp*>
{
typedef random_access_iterator_tag iterator_category;
typedef _Tp value_type;
typedef ptrdiff_t difference_type;
typedef _Tp* pointer;
typedef _Tp& reference;
};
template<typename _Tp>
struct iterator_traits<const _Tp*>
{
typedef random_access_iterator_tag iterator_category;
typedef _Tp value_type;
typedef ptrdiff_t difference_type;
typedef const _Tp* pointer;
typedef const _Tp& reference;
};
template<typename _Iter>
inline typename iterator_traits<_Iter>::iterator_category
__iterator_category(const _Iter&)
{ return typename iterator_traits<_Iter>::iterator_category(); }
template<typename _Iterator, bool _HasBase>
struct _Iter_base
{
typedef _Iterator iterator_type;
static iterator_type _S_base(_Iterator __it)
{ return __it; }
};
template<typename _Iterator>
struct _Iter_base<_Iterator, true>
{
typedef typename _Iterator::iterator_type iterator_type;
static iterator_type _S_base(_Iterator __it)
{ return __it.base(); }
};
}
# 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 1 3
# 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _InputIterator>
inline typename iterator_traits<_InputIterator>::difference_type
__distance(_InputIterator __first, _InputIterator __last,
input_iterator_tag)
{
typename iterator_traits<_InputIterator>::difference_type __n = 0;
while (__first != __last)
{
++__first;
++__n;
}
return __n;
}
template<typename _RandomAccessIterator>
inline typename iterator_traits<_RandomAccessIterator>::difference_type
__distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
random_access_iterator_tag)
{
return __last - __first;
}
# 112 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
template<typename _InputIterator>
inline typename iterator_traits<_InputIterator>::difference_type
distance(_InputIterator __first, _InputIterator __last)
{
return std::__distance(__first, __last,
std::__iterator_category(__first));
}
template<typename _InputIterator, typename _Distance>
inline void
__advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
{
while (__n--)
++__i;
}
template<typename _BidirectionalIterator, typename _Distance>
inline void
__advance(_BidirectionalIterator& __i, _Distance __n,
bidirectional_iterator_tag)
{
if (__n > 0)
while (__n--)
++__i;
else
while (__n++)
--__i;
}
template<typename _RandomAccessIterator, typename _Distance>
inline void
__advance(_RandomAccessIterator& __i, _Distance __n,
random_access_iterator_tag)
{
__i += __n;
}
# 170 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
template<typename _InputIterator, typename _Distance>
inline void
advance(_InputIterator& __i, _Distance __n)
{
typename iterator_traits<_InputIterator>::difference_type __d = __n;
std::__advance(__i, __d, std::__iterator_category(__i));
}
template<typename _ForwardIterator>
inline _ForwardIterator
next(_ForwardIterator __x, typename
iterator_traits<_ForwardIterator>::difference_type __n = 1)
{
std::advance(__x, __n);
return __x;
}
template<typename _BidirectionalIterator>
inline _BidirectionalIterator
prev(_BidirectionalIterator __x, typename
iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
{
std::advance(__x, -__n);
return __x;
}
}
# 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 1 3
# 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 97 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Iterator>
class reverse_iterator
: public iterator<typename iterator_traits<_Iterator>::iterator_category,
typename iterator_traits<_Iterator>::value_type,
typename iterator_traits<_Iterator>::difference_type,
typename iterator_traits<_Iterator>::pointer,
typename iterator_traits<_Iterator>::reference>
{
protected:
_Iterator current;
typedef iterator_traits<_Iterator> __traits_type;
public:
typedef _Iterator iterator_type;
typedef typename __traits_type::difference_type difference_type;
typedef typename __traits_type::pointer pointer;
typedef typename __traits_type::reference reference;
reverse_iterator() : current() { }
explicit
reverse_iterator(iterator_type __x) : current(__x) { }
reverse_iterator(const reverse_iterator& __x)
: current(__x.current) { }
template<typename _Iter>
reverse_iterator(const reverse_iterator<_Iter>& __x)
: current(__x.base()) { }
iterator_type
base() const
{ return current; }
# 161 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
reference
operator*() const
{
_Iterator __tmp = current;
return *--__tmp;
}
pointer
operator->() const
{ return &(operator*()); }
reverse_iterator&
operator++()
{
--current;
return *this;
}
reverse_iterator
operator++(int)
{
reverse_iterator __tmp = *this;
--current;
return __tmp;
}
reverse_iterator&
operator--()
{
++current;
return *this;
}
reverse_iterator
operator--(int)
{
reverse_iterator __tmp = *this;
++current;
return __tmp;
}
reverse_iterator
operator+(difference_type __n) const
{ return reverse_iterator(current - __n); }
reverse_iterator&
operator+=(difference_type __n)
{
current -= __n;
return *this;
}
reverse_iterator
operator-(difference_type __n) const
{ return reverse_iterator(current + __n); }
reverse_iterator&
operator-=(difference_type __n)
{
current += __n;
return *this;
}
reference
operator[](difference_type __n) const
{ return *(*this + __n); }
};
# 291 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Iterator>
inline bool
operator==(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return __x.base() == __y.base(); }
template<typename _Iterator>
inline bool
operator<(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return __y.base() < __x.base(); }
template<typename _Iterator>
inline bool
operator!=(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return !(__x == __y); }
template<typename _Iterator>
inline bool
operator>(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return __y < __x; }
template<typename _Iterator>
inline bool
operator<=(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return !(__y < __x); }
template<typename _Iterator>
inline bool
operator>=(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return !(__x < __y); }
template<typename _Iterator>
inline typename reverse_iterator<_Iterator>::difference_type
operator-(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return __y.base() - __x.base(); }
template<typename _Iterator>
inline reverse_iterator<_Iterator>
operator+(typename reverse_iterator<_Iterator>::difference_type __n,
const reverse_iterator<_Iterator>& __x)
{ return reverse_iterator<_Iterator>(__x.base() - __n); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator==(const reverse_iterator<_IteratorL>& __x,
const reverse_iterator<_IteratorR>& __y)
{ return __x.base() == __y.base(); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator<(const reverse_iterator<_IteratorL>& __x,
const reverse_iterator<_IteratorR>& __y)
{ return __y.base() < __x.base(); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator!=(const reverse_iterator<_IteratorL>& __x,
const reverse_iterator<_IteratorR>& __y)
{ return !(__x == __y); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator>(const reverse_iterator<_IteratorL>& __x,
const reverse_iterator<_IteratorR>& __y)
{ return __y < __x; }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator<=(const reverse_iterator<_IteratorL>& __x,
const reverse_iterator<_IteratorR>& __y)
{ return !(__y < __x); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator>=(const reverse_iterator<_IteratorL>& __x,
const reverse_iterator<_IteratorR>& __y)
{ return !(__x < __y); }
template<typename _IteratorL, typename _IteratorR>
inline auto
operator-(const reverse_iterator<_IteratorL>& __x,
const reverse_iterator<_IteratorR>& __y)
-> decltype(__y.base() - __x.base())
{ return __y.base() - __x.base(); }
# 403 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Container>
class back_insert_iterator
: public iterator<output_iterator_tag, void, void, void, void>
{
protected:
_Container* container;
public:
typedef _Container container_type;
explicit
back_insert_iterator(_Container& __x) : container(&__x) { }
# 437 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
back_insert_iterator&
operator=(const typename _Container::value_type& __value)
{
container->push_back(__value);
return *this;
}
back_insert_iterator&
operator=(typename _Container::value_type&& __value)
{
container->push_back(std::move(__value));
return *this;
}
back_insert_iterator&
operator*()
{ return *this; }
back_insert_iterator&
operator++()
{ return *this; }
back_insert_iterator
operator++(int)
{ return *this; }
};
# 479 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Container>
inline back_insert_iterator<_Container>
back_inserter(_Container& __x)
{ return back_insert_iterator<_Container>(__x); }
# 494 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Container>
class front_insert_iterator
: public iterator<output_iterator_tag, void, void, void, void>
{
protected:
_Container* container;
public:
typedef _Container container_type;
explicit front_insert_iterator(_Container& __x) : container(&__x) { }
# 527 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
front_insert_iterator&
operator=(const typename _Container::value_type& __value)
{
container->push_front(__value);
return *this;
}
front_insert_iterator&
operator=(typename _Container::value_type&& __value)
{
container->push_front(std::move(__value));
return *this;
}
front_insert_iterator&
operator*()
{ return *this; }
front_insert_iterator&
operator++()
{ return *this; }
front_insert_iterator
operator++(int)
{ return *this; }
};
# 569 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Container>
inline front_insert_iterator<_Container>
front_inserter(_Container& __x)
{ return front_insert_iterator<_Container>(__x); }
# 588 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Container>
class insert_iterator
: public iterator<output_iterator_tag, void, void, void, void>
{
protected:
_Container* container;
typename _Container::iterator iter;
public:
typedef _Container container_type;
insert_iterator(_Container& __x, typename _Container::iterator __i)
: container(&__x), iter(__i) {}
# 639 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
insert_iterator&
operator=(const typename _Container::value_type& __value)
{
iter = container->insert(iter, __value);
++iter;
return *this;
}
insert_iterator&
operator=(typename _Container::value_type&& __value)
{
iter = container->insert(iter, std::move(__value));
++iter;
return *this;
}
insert_iterator&
operator*()
{ return *this; }
insert_iterator&
operator++()
{ return *this; }
insert_iterator&
operator++(int)
{ return *this; }
};
# 683 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Container, typename _Iterator>
inline insert_iterator<_Container>
inserter(_Container& __x, _Iterator __i)
{
return insert_iterator<_Container>(__x,
typename _Container::iterator(__i));
}
}
namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
# 707 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
using std::iterator_traits;
using std::iterator;
template<typename _Iterator, typename _Container>
class __normal_iterator
{
protected:
_Iterator _M_current;
typedef iterator_traits<_Iterator> __traits_type;
public:
typedef _Iterator iterator_type;
typedef typename __traits_type::iterator_category iterator_category;
typedef typename __traits_type::value_type value_type;
typedef typename __traits_type::difference_type difference_type;
typedef typename __traits_type::reference reference;
typedef typename __traits_type::pointer pointer;
constexpr __normal_iterator() : _M_current(_Iterator()) { }
explicit
__normal_iterator(const _Iterator& __i) : _M_current(__i) { }
template<typename _Iter>
__normal_iterator(const __normal_iterator<_Iter,
typename __enable_if<
(std::__are_same<_Iter, typename _Container::pointer>::__value),
_Container>::__type>& __i)
: _M_current(__i.base()) { }
reference
operator*() const
{ return *_M_current; }
pointer
operator->() const
{ return _M_current; }
__normal_iterator&
operator++()
{
++_M_current;
return *this;
}
__normal_iterator
operator++(int)
{ return __normal_iterator(_M_current++); }
__normal_iterator&
operator--()
{
--_M_current;
return *this;
}
__normal_iterator
operator--(int)
{ return __normal_iterator(_M_current--); }
reference
operator[](const difference_type& __n) const
{ return _M_current[__n]; }
__normal_iterator&
operator+=(const difference_type& __n)
{ _M_current += __n; return *this; }
__normal_iterator
operator+(const difference_type& __n) const
{ return __normal_iterator(_M_current + __n); }
__normal_iterator&
operator-=(const difference_type& __n)
{ _M_current -= __n; return *this; }
__normal_iterator
operator-(const difference_type& __n) const
{ return __normal_iterator(_M_current - __n); }
const _Iterator&
base() const
{ return _M_current; }
};
# 805 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __lhs.base() == __rhs.base(); }
template<typename _Iterator, typename _Container>
inline bool
operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
const __normal_iterator<_Iterator, _Container>& __rhs)
{ return __lhs.base() == __rhs.base(); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __lhs.base() != __rhs.base(); }
template<typename _Iterator, typename _Container>
inline bool
operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
const __normal_iterator<_Iterator, _Container>& __rhs)
{ return __lhs.base() != __rhs.base(); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __lhs.base() < __rhs.base(); }
template<typename _Iterator, typename _Container>
inline bool
operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
const __normal_iterator<_Iterator, _Container>& __rhs)
{ return __lhs.base() < __rhs.base(); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __lhs.base() > __rhs.base(); }
template<typename _Iterator, typename _Container>
inline bool
operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
const __normal_iterator<_Iterator, _Container>& __rhs)
{ return __lhs.base() > __rhs.base(); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __lhs.base() <= __rhs.base(); }
template<typename _Iterator, typename _Container>
inline bool
operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
const __normal_iterator<_Iterator, _Container>& __rhs)
{ return __lhs.base() <= __rhs.base(); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __lhs.base() >= __rhs.base(); }
template<typename _Iterator, typename _Container>
inline bool
operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
const __normal_iterator<_Iterator, _Container>& __rhs)
{ return __lhs.base() >= __rhs.base(); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline auto
operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
-> decltype(__lhs.base() - __rhs.base())
{ return __lhs.base() - __rhs.base(); }
template<typename _Iterator, typename _Container>
inline typename __normal_iterator<_Iterator, _Container>::difference_type
operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
const __normal_iterator<_Iterator, _Container>& __rhs)
{ return __lhs.base() - __rhs.base(); }
template<typename _Iterator, typename _Container>
inline __normal_iterator<_Iterator, _Container>
operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
__n, const __normal_iterator<_Iterator, _Container>& __i)
{ return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
}
namespace std __attribute__ ((__visibility__ ("default")))
{
# 931 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_iterator.h" 3
template<typename _Iterator>
class move_iterator
{
protected:
_Iterator _M_current;
typedef iterator_traits<_Iterator> __traits_type;
public:
typedef _Iterator iterator_type;
typedef typename __traits_type::iterator_category iterator_category;
typedef typename __traits_type::value_type value_type;
typedef typename __traits_type::difference_type difference_type;
typedef _Iterator pointer;
typedef value_type&& reference;
move_iterator()
: _M_current() { }
explicit
move_iterator(iterator_type __i)
: _M_current(__i) { }
template<typename _Iter>
move_iterator(const move_iterator<_Iter>& __i)
: _M_current(__i.base()) { }
iterator_type
base() const
{ return _M_current; }
reference
operator*() const
{ return std::move(*_M_current); }
pointer
operator->() const
{ return _M_current; }
move_iterator&
operator++()
{
++_M_current;
return *this;
}
move_iterator
operator++(int)
{
move_iterator __tmp = *this;
++_M_current;
return __tmp;
}
move_iterator&
operator--()
{
--_M_current;
return *this;
}
move_iterator
operator--(int)
{
move_iterator __tmp = *this;
--_M_current;
return __tmp;
}
move_iterator
operator+(difference_type __n) const
{ return move_iterator(_M_current + __n); }
move_iterator&
operator+=(difference_type __n)
{
_M_current += __n;
return *this;
}
move_iterator
operator-(difference_type __n) const
{ return move_iterator(_M_current - __n); }
move_iterator&
operator-=(difference_type __n)
{
_M_current -= __n;
return *this;
}
reference
operator[](difference_type __n) const
{ return std::move(_M_current[__n]); }
};
template<typename _IteratorL, typename _IteratorR>
inline bool
operator==(const move_iterator<_IteratorL>& __x,
const move_iterator<_IteratorR>& __y)
{ return __x.base() == __y.base(); }
template<typename _Iterator>
inline bool
operator==(const move_iterator<_Iterator>& __x,
const move_iterator<_Iterator>& __y)
{ return __x.base() == __y.base(); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator!=(const move_iterator<_IteratorL>& __x,
const move_iterator<_IteratorR>& __y)
{ return !(__x == __y); }
template<typename _Iterator>
inline bool
operator!=(const move_iterator<_Iterator>& __x,
const move_iterator<_Iterator>& __y)
{ return !(__x == __y); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator<(const move_iterator<_IteratorL>& __x,
const move_iterator<_IteratorR>& __y)
{ return __x.base() < __y.base(); }
template<typename _Iterator>
inline bool
operator<(const move_iterator<_Iterator>& __x,
const move_iterator<_Iterator>& __y)
{ return __x.base() < __y.base(); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator<=(const move_iterator<_IteratorL>& __x,
const move_iterator<_IteratorR>& __y)
{ return !(__y < __x); }
template<typename _Iterator>
inline bool
operator<=(const move_iterator<_Iterator>& __x,
const move_iterator<_Iterator>& __y)
{ return !(__y < __x); }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator>(const move_iterator<_IteratorL>& __x,
const move_iterator<_IteratorR>& __y)
{ return __y < __x; }
template<typename _Iterator>
inline bool
operator>(const move_iterator<_Iterator>& __x,
const move_iterator<_Iterator>& __y)
{ return __y < __x; }
template<typename _IteratorL, typename _IteratorR>
inline bool
operator>=(const move_iterator<_IteratorL>& __x,
const move_iterator<_IteratorR>& __y)
{ return !(__x < __y); }
template<typename _Iterator>
inline bool
operator>=(const move_iterator<_Iterator>& __x,
const move_iterator<_Iterator>& __y)
{ return !(__x < __y); }
template<typename _IteratorL, typename _IteratorR>
inline auto
operator-(const move_iterator<_IteratorL>& __x,
const move_iterator<_IteratorR>& __y)
-> decltype(__x.base() - __y.base())
{ return __x.base() - __y.base(); }
template<typename _Iterator>
inline auto
operator-(const move_iterator<_Iterator>& __x,
const move_iterator<_Iterator>& __y)
-> decltype(__x.base() - __y.base())
{ return __x.base() - __y.base(); }
template<typename _Iterator>
inline move_iterator<_Iterator>
operator+(typename move_iterator<_Iterator>::difference_type __n,
const move_iterator<_Iterator>& __x)
{ return __x + __n; }
template<typename _Iterator>
inline move_iterator<_Iterator>
make_move_iterator(_Iterator __i)
{ return move_iterator<_Iterator>(__i); }
template<typename _Iterator, typename _ReturnType
= typename conditional<__move_if_noexcept_cond
<typename iterator_traits<_Iterator>::value_type>::value,
_Iterator, move_iterator<_Iterator>>::type>
inline _ReturnType
__make_move_if_noexcept_iterator(_Iterator __i)
{ return _ReturnType(__i); }
}
# 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/debug/debug.h" 1 3
# 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/debug/debug.h" 3
namespace std
{
namespace __debug { }
}
namespace __gnu_debug
{
using namespace std::__debug;
}
# 71 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<bool _BoolType>
struct __iter_swap
{
template<typename _ForwardIterator1, typename _ForwardIterator2>
static void
iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
{
typedef typename iterator_traits<_ForwardIterator1>::value_type
_ValueType1;
_ValueType1 __tmp = std::move(*__a);
*__a = std::move(*__b);
*__b = std::move(__tmp);
}
};
template<>
struct __iter_swap<true>
{
template<typename _ForwardIterator1, typename _ForwardIterator2>
static void
iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
{
swap(*__a, *__b);
}
};
# 116 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _ForwardIterator1, typename _ForwardIterator2>
inline void
iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
{
typedef typename iterator_traits<_ForwardIterator1>::value_type
_ValueType1;
typedef typename iterator_traits<_ForwardIterator2>::value_type
_ValueType2;
typedef typename iterator_traits<_ForwardIterator1>::reference
_ReferenceType1;
typedef typename iterator_traits<_ForwardIterator2>::reference
_ReferenceType2;
std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value
&& __are_same<_ValueType1&, _ReferenceType1>::__value
&& __are_same<_ValueType2&, _ReferenceType2>::__value>::
iter_swap(__a, __b);
}
# 157 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _ForwardIterator1, typename _ForwardIterator2>
_ForwardIterator2
swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
_ForwardIterator2 __first2)
{
;
for (; __first1 != __last1; ++__first1, ++__first2)
std::iter_swap(__first1, __first2);
return __first2;
}
# 185 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _Tp>
inline const _Tp&
min(const _Tp& __a, const _Tp& __b)
{
if (__b < __a)
return __b;
return __a;
}
# 208 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _Tp>
inline const _Tp&
max(const _Tp& __a, const _Tp& __b)
{
if (__a < __b)
return __b;
return __a;
}
# 231 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _Tp, typename _Compare>
inline const _Tp&
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
{
if (__comp(__b, __a))
return __b;
return __a;
}
# 252 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _Tp, typename _Compare>
inline const _Tp&
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
{
if (__comp(__a, __b))
return __b;
return __a;
}
template<typename _Iterator>
struct _Niter_base
: _Iter_base<_Iterator, __is_normal_iterator<_Iterator>::__value>
{ };
template<typename _Iterator>
inline typename _Niter_base<_Iterator>::iterator_type
__niter_base(_Iterator __it)
{ return std::_Niter_base<_Iterator>::_S_base(__it); }
template<typename _Iterator>
struct _Miter_base
: _Iter_base<_Iterator, __is_move_iterator<_Iterator>::__value>
{ };
template<typename _Iterator>
inline typename _Miter_base<_Iterator>::iterator_type
__miter_base(_Iterator __it)
{ return std::_Miter_base<_Iterator>::_S_base(__it); }
template<bool, bool, typename>
struct __copy_move
{
template<typename _II, typename _OI>
static _OI
__copy_m(_II __first, _II __last, _OI __result)
{
for (; __first != __last; ++__result, ++__first)
*__result = *__first;
return __result;
}
};
template<typename _Category>
struct __copy_move<true, false, _Category>
{
template<typename _II, typename _OI>
static _OI
__copy_m(_II __first, _II __last, _OI __result)
{
for (; __first != __last; ++__result, ++__first)
*__result = std::move(*__first);
return __result;
}
};
template<>
struct __copy_move<false, false, random_access_iterator_tag>
{
template<typename _II, typename _OI>
static _OI
__copy_m(_II __first, _II __last, _OI __result)
{
typedef typename iterator_traits<_II>::difference_type _Distance;
for(_Distance __n = __last - __first; __n > 0; --__n)
{
*__result = *__first;
++__first;
++__result;
}
return __result;
}
};
template<>
struct __copy_move<true, false, random_access_iterator_tag>
{
template<typename _II, typename _OI>
static _OI
__copy_m(_II __first, _II __last, _OI __result)
{
typedef typename iterator_traits<_II>::difference_type _Distance;
for(_Distance __n = __last - __first; __n > 0; --__n)
{
*__result = std::move(*__first);
++__first;
++__result;
}
return __result;
}
};
template<bool _IsMove>
struct __copy_move<_IsMove, true, random_access_iterator_tag>
{
template<typename _Tp>
static _Tp*
__copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
{
const ptrdiff_t _Num = __last - __first;
if (_Num)
__builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
return __result + _Num;
}
};
template<bool _IsMove, typename _II, typename _OI>
inline _OI
__copy_move_a(_II __first, _II __last, _OI __result)
{
typedef typename iterator_traits<_II>::value_type _ValueTypeI;
typedef typename iterator_traits<_OI>::value_type _ValueTypeO;
typedef typename iterator_traits<_II>::iterator_category _Category;
const bool __simple = (__is_trivial(_ValueTypeI)
&& __is_pointer<_II>::__value
&& __is_pointer<_OI>::__value
&& __are_same<_ValueTypeI, _ValueTypeO>::__value);
return std::__copy_move<_IsMove, __simple,
_Category>::__copy_m(__first, __last, __result);
}
template<typename _CharT>
struct char_traits;
template<typename _CharT, typename _Traits>
class istreambuf_iterator;
template<typename _CharT, typename _Traits>
class ostreambuf_iterator;
template<bool _IsMove, typename _CharT>
typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
__copy_move_a2(_CharT*, _CharT*,
ostreambuf_iterator<_CharT, char_traits<_CharT> >);
template<bool _IsMove, typename _CharT>
typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
__copy_move_a2(const _CharT*, const _CharT*,
ostreambuf_iterator<_CharT, char_traits<_CharT> >);
template<bool _IsMove, typename _CharT>
typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
_CharT*>::__type
__copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
template<bool _IsMove, typename _II, typename _OI>
inline _OI
__copy_move_a2(_II __first, _II __last, _OI __result)
{
return _OI(std::__copy_move_a<_IsMove>(std::__niter_base(__first),
std::__niter_base(__last),
std::__niter_base(__result)));
}
# 442 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _II, typename _OI>
inline _OI
copy(_II __first, _II __last, _OI __result)
{
;
return (std::__copy_move_a2<__is_move_iterator<_II>::__value>
(std::__miter_base(__first), std::__miter_base(__last),
__result));
}
# 475 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _II, typename _OI>
inline _OI
move(_II __first, _II __last, _OI __result)
{
;
return std::__copy_move_a2<true>(std::__miter_base(__first),
std::__miter_base(__last), __result);
}
template<bool, bool, typename>
struct __copy_move_backward
{
template<typename _BI1, typename _BI2>
static _BI2
__copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
{
while (__first != __last)
*--__result = *--__last;
return __result;
}
};
template<typename _Category>
struct __copy_move_backward<true, false, _Category>
{
template<typename _BI1, typename _BI2>
static _BI2
__copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
{
while (__first != __last)
*--__result = std::move(*--__last);
return __result;
}
};
template<>
struct __copy_move_backward<false, false, random_access_iterator_tag>
{
template<typename _BI1, typename _BI2>
static _BI2
__copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
{
typename iterator_traits<_BI1>::difference_type __n;
for (__n = __last - __first; __n > 0; --__n)
*--__result = *--__last;
return __result;
}
};
template<>
struct __copy_move_backward<true, false, random_access_iterator_tag>
{
template<typename _BI1, typename _BI2>
static _BI2
__copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
{
typename iterator_traits<_BI1>::difference_type __n;
for (__n = __last - __first; __n > 0; --__n)
*--__result = std::move(*--__last);
return __result;
}
};
template<bool _IsMove>
struct __copy_move_backward<_IsMove, true, random_access_iterator_tag>
{
template<typename _Tp>
static _Tp*
__copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
{
const ptrdiff_t _Num = __last - __first;
if (_Num)
__builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
return __result - _Num;
}
};
template<bool _IsMove, typename _BI1, typename _BI2>
inline _BI2
__copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result)
{
typedef typename iterator_traits<_BI1>::value_type _ValueType1;
typedef typename iterator_traits<_BI2>::value_type _ValueType2;
typedef typename iterator_traits<_BI1>::iterator_category _Category;
const bool __simple = (__is_trivial(_ValueType1)
&& __is_pointer<_BI1>::__value
&& __is_pointer<_BI2>::__value
&& __are_same<_ValueType1, _ValueType2>::__value);
return std::__copy_move_backward<_IsMove, __simple,
_Category>::__copy_move_b(__first,
__last,
__result);
}
template<bool _IsMove, typename _BI1, typename _BI2>
inline _BI2
__copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
{
return _BI2(std::__copy_move_backward_a<_IsMove>
(std::__niter_base(__first), std::__niter_base(__last),
std::__niter_base(__result)));
}
# 611 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _BI1, typename _BI2>
inline _BI2
copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
{
;
return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value>
(std::__miter_base(__first), std::__miter_base(__last),
__result));
}
# 647 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _BI1, typename _BI2>
inline _BI2
move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
{
;
return std::__copy_move_backward_a2<true>(std::__miter_base(__first),
std::__miter_base(__last),
__result);
}
template<typename _ForwardIterator, typename _Tp>
inline typename
__gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type
__fill_a(_ForwardIterator __first, _ForwardIterator __last,
const _Tp& __value)
{
for (; __first != __last; ++__first)
*__first = __value;
}
template<typename _ForwardIterator, typename _Tp>
inline typename
__gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
__fill_a(_ForwardIterator __first, _ForwardIterator __last,
const _Tp& __value)
{
const _Tp __tmp = __value;
for (; __first != __last; ++__first)
*__first = __tmp;
}
template<typename _Tp>
inline typename
__gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
__fill_a(_Tp* __first, _Tp* __last, const _Tp& __c)
{
const _Tp __tmp = __c;
__builtin_memset(__first, static_cast<unsigned char>(__tmp),
__last - __first);
}
# 713 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _ForwardIterator, typename _Tp>
inline void
fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
{
;
std::__fill_a(std::__niter_base(__first), std::__niter_base(__last),
__value);
}
template<typename _OutputIterator, typename _Size, typename _Tp>
inline typename
__gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
__fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value)
{
for (__decltype(__n + 0) __niter = __n;
__niter > 0; --__niter, ++__first)
*__first = __value;
return __first;
}
template<typename _OutputIterator, typename _Size, typename _Tp>
inline typename
__gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
__fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value)
{
const _Tp __tmp = __value;
for (__decltype(__n + 0) __niter = __n;
__niter > 0; --__niter, ++__first)
*__first = __tmp;
return __first;
}
template<typename _Size, typename _Tp>
inline typename
__gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type
__fill_n_a(_Tp* __first, _Size __n, const _Tp& __c)
{
std::__fill_a(__first, __first + __n, __c);
return __first + __n;
}
# 773 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _OI, typename _Size, typename _Tp>
inline _OI
fill_n(_OI __first, _Size __n, const _Tp& __value)
{
return _OI(std::__fill_n_a(std::__niter_base(__first), __n, __value));
}
template<bool _BoolType>
struct __equal
{
template<typename _II1, typename _II2>
static bool
equal(_II1 __first1, _II1 __last1, _II2 __first2)
{
for (; __first1 != __last1; ++__first1, ++__first2)
if (!(*__first1 == *__first2))
return false;
return true;
}
};
template<>
struct __equal<true>
{
template<typename _Tp>
static bool
equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
{
return !__builtin_memcmp(__first1, __first2, sizeof(_Tp)
* (__last1 - __first1));
}
};
template<typename _II1, typename _II2>
inline bool
__equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
{
typedef typename iterator_traits<_II1>::value_type _ValueType1;
typedef typename iterator_traits<_II2>::value_type _ValueType2;
const bool __simple = ((__is_integer<_ValueType1>::__value
|| __is_pointer<_ValueType1>::__value)
&& __is_pointer<_II1>::__value
&& __is_pointer<_II2>::__value
&& __are_same<_ValueType1, _ValueType2>::__value);
return std::__equal<__simple>::equal(__first1, __last1, __first2);
}
template<typename, typename>
struct __lc_rai
{
template<typename _II1, typename _II2>
static _II1
__newlast1(_II1, _II1 __last1, _II2, _II2)
{ return __last1; }
template<typename _II>
static bool
__cnd2(_II __first, _II __last)
{ return __first != __last; }
};
template<>
struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
{
template<typename _RAI1, typename _RAI2>
static _RAI1
__newlast1(_RAI1 __first1, _RAI1 __last1,
_RAI2 __first2, _RAI2 __last2)
{
const typename iterator_traits<_RAI1>::difference_type
__diff1 = __last1 - __first1;
const typename iterator_traits<_RAI2>::difference_type
__diff2 = __last2 - __first2;
return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
}
template<typename _RAI>
static bool
__cnd2(_RAI, _RAI)
{ return true; }
};
template<bool _BoolType>
struct __lexicographical_compare
{
template<typename _II1, typename _II2>
static bool __lc(_II1, _II1, _II2, _II2);
};
template<bool _BoolType>
template<typename _II1, typename _II2>
bool
__lexicographical_compare<_BoolType>::
__lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
{
typedef typename iterator_traits<_II1>::iterator_category _Category1;
typedef typename iterator_traits<_II2>::iterator_category _Category2;
typedef std::__lc_rai<_Category1, _Category2> __rai_type;
__last1 = __rai_type::__newlast1(__first1, __last1,
__first2, __last2);
for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
++__first1, ++__first2)
{
if (*__first1 < *__first2)
return true;
if (*__first2 < *__first1)
return false;
}
return __first1 == __last1 && __first2 != __last2;
}
template<>
struct __lexicographical_compare<true>
{
template<typename _Tp, typename _Up>
static bool
__lc(const _Tp* __first1, const _Tp* __last1,
const _Up* __first2, const _Up* __last2)
{
const size_t __len1 = __last1 - __first1;
const size_t __len2 = __last2 - __first2;
const int __result = __builtin_memcmp(__first1, __first2,
std::min(__len1, __len2));
return __result != 0 ? __result < 0 : __len1 < __len2;
}
};
template<typename _II1, typename _II2>
inline bool
__lexicographical_compare_aux(_II1 __first1, _II1 __last1,
_II2 __first2, _II2 __last2)
{
typedef typename iterator_traits<_II1>::value_type _ValueType1;
typedef typename iterator_traits<_II2>::value_type _ValueType2;
const bool __simple =
(__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value
&& !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed
&& !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed
&& __is_pointer<_II1>::__value
&& __is_pointer<_II2>::__value);
return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
__first2, __last2);
}
# 935 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _ForwardIterator, typename _Tp>
_ForwardIterator
lower_bound(_ForwardIterator __first, _ForwardIterator __last,
const _Tp& __val)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_ValueType;
typedef typename iterator_traits<_ForwardIterator>::difference_type
_DistanceType;
;
_DistanceType __len = std::distance(__first, __last);
while (__len > 0)
{
_DistanceType __half = __len >> 1;
_ForwardIterator __middle = __first;
std::advance(__middle, __half);
if (*__middle < __val)
{
__first = __middle;
++__first;
__len = __len - __half - 1;
}
else
__len = __half;
}
return __first;
}
template<typename _Size>
inline _Size
__lg(_Size __n)
{
_Size __k;
for (__k = 0; __n != 0; __n >>= 1)
++__k;
return __k - 1;
}
inline int
__lg(int __n)
{ return sizeof(int) * 8 - 1 - __builtin_clz(__n); }
inline unsigned
__lg(unsigned __n)
{ return sizeof(int) * 8 - 1 - __builtin_clz(__n); }
inline long
__lg(long __n)
{ return sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
inline unsigned long
__lg(unsigned long __n)
{ return sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
inline long long
__lg(long long __n)
{ return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
inline unsigned long long
__lg(unsigned long long __n)
{ return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
# 1021 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _II1, typename _II2>
inline bool
equal(_II1 __first1, _II1 __last1, _II2 __first2)
{
;
return std::__equal_aux(std::__niter_base(__first1),
std::__niter_base(__last1),
std::__niter_base(__first2));
}
# 1053 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
inline bool
equal(_IIter1 __first1, _IIter1 __last1,
_IIter2 __first2, _BinaryPredicate __binary_pred)
{
;
for (; __first1 != __last1; ++__first1, ++__first2)
if (!bool(__binary_pred(*__first1, *__first2)))
return false;
return true;
}
# 1084 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _II1, typename _II2>
inline bool
lexicographical_compare(_II1 __first1, _II1 __last1,
_II2 __first2, _II2 __last2)
{
typedef typename iterator_traits<_II1>::value_type _ValueType1;
typedef typename iterator_traits<_II2>::value_type _ValueType2;
;
;
return std::__lexicographical_compare_aux(std::__niter_base(__first1),
std::__niter_base(__last1),
std::__niter_base(__first2),
std::__niter_base(__last2));
}
# 1118 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _II1, typename _II2, typename _Compare>
bool
lexicographical_compare(_II1 __first1, _II1 __last1,
_II2 __first2, _II2 __last2, _Compare __comp)
{
typedef typename iterator_traits<_II1>::iterator_category _Category1;
typedef typename iterator_traits<_II2>::iterator_category _Category2;
typedef std::__lc_rai<_Category1, _Category2> __rai_type;
;
;
__last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
++__first1, ++__first2)
{
if (__comp(*__first1, *__first2))
return true;
if (__comp(*__first2, *__first1))
return false;
}
return __first1 == __last1 && __first2 != __last2;
}
# 1158 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _InputIterator1, typename _InputIterator2>
pair<_InputIterator1, _InputIterator2>
mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
_InputIterator2 __first2)
{
;
while (__first1 != __last1 && *__first1 == *__first2)
{
++__first1;
++__first2;
}
return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
}
# 1195 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_algobase.h" 3
template<typename _InputIterator1, typename _InputIterator2,
typename _BinaryPredicate>
pair<_InputIterator1, _InputIterator2>
mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
_InputIterator2 __first2, _BinaryPredicate __binary_pred)
{
;
while (__first1 != __last1 && bool(__binary_pred(*__first1, *__first2)))
{
++__first1;
++__first2;
}
return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
}
}
# 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/allocator.h" 1 3
# 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/allocator.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 1 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/new_allocator.h" 1 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/new_allocator.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/new" 1 3
# 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/new" 3
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/new" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 1 3
# 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 3
# 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 3
#pragma GCC visibility push(default)
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/atomic_lockfree_defines.h" 1 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/atomic_lockfree_defines.h" 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/atomic_lockfree_defines.h" 3
# 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 2 3
extern "C++" {
namespace std
{
# 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 3
class exception
{
public:
exception() noexcept { }
virtual ~exception() noexcept;
virtual const char* what() const noexcept;
};
class bad_exception : public exception
{
public:
bad_exception() noexcept { }
virtual ~bad_exception() noexcept;
virtual const char* what() const noexcept;
};
typedef void (*terminate_handler) ();
typedef void (*unexpected_handler) ();
terminate_handler set_terminate(terminate_handler) noexcept;
void terminate() noexcept __attribute__ ((__noreturn__));
unexpected_handler set_unexpected(unexpected_handler) noexcept;
void unexpected() __attribute__ ((__noreturn__));
# 119 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 3
bool uncaught_exception() noexcept __attribute__ ((__pure__));
}
namespace __gnu_cxx
{
# 144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 3
void __verbose_terminate_handler();
}
}
#pragma GCC visibility pop
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/exception_ptr.h" 1 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/exception_ptr.h" 3
#pragma GCC visibility push(default)
# 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/exception_ptr.h" 3
extern "C++" {
namespace std
{
class type_info;
namespace __exception_ptr
{
class exception_ptr;
}
using __exception_ptr::exception_ptr;
exception_ptr current_exception() noexcept;
void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
namespace __exception_ptr
{
class exception_ptr
{
void* _M_exception_object;
explicit exception_ptr(void* __e) noexcept;
void _M_addref() noexcept;
void _M_release() noexcept;
void *_M_get() const noexcept __attribute__ ((__pure__));
friend exception_ptr std::current_exception() noexcept;
friend void std::rethrow_exception(exception_ptr);
public:
exception_ptr() noexcept;
exception_ptr(const exception_ptr&) noexcept;
exception_ptr(nullptr_t) noexcept
: _M_exception_object(0)
{ }
exception_ptr(exception_ptr&& __o) noexcept
: _M_exception_object(__o._M_exception_object)
{ __o._M_exception_object = 0; }
# 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/exception_ptr.h" 3
exception_ptr&
operator=(const exception_ptr&) noexcept;
exception_ptr&
operator=(exception_ptr&& __o) noexcept
{
exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
return *this;
}
~exception_ptr() noexcept;
void
swap(exception_ptr&) noexcept;
# 138 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/exception_ptr.h" 3
explicit operator bool() const
{ return _M_exception_object; }
friend bool
operator==(const exception_ptr&, const exception_ptr&)
noexcept __attribute__ ((__pure__));
const class std::type_info*
__cxa_exception_type() const noexcept
__attribute__ ((__pure__));
};
bool
operator==(const exception_ptr&, const exception_ptr&)
noexcept __attribute__ ((__pure__));
bool
operator!=(const exception_ptr&, const exception_ptr&)
noexcept __attribute__ ((__pure__));
inline void
swap(exception_ptr& __lhs, exception_ptr& __rhs)
{ __lhs.swap(__rhs); }
}
template<typename _Ex>
exception_ptr
copy_exception(_Ex __ex) noexcept
{
try
{
throw __ex;
}
catch(...)
{
return current_exception();
}
}
template<typename _Ex>
exception_ptr
make_exception_ptr(_Ex __ex) noexcept
{ return std::copy_exception<_Ex>(__ex); }
}
}
#pragma GCC visibility pop
# 155 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/nested_exception.h" 1 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/nested_exception.h" 3
#pragma GCC visibility push(default)
# 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/nested_exception.h" 3
extern "C++" {
namespace std
{
class nested_exception
{
exception_ptr _M_ptr;
public:
nested_exception() noexcept : _M_ptr(current_exception()) { }
nested_exception(const nested_exception&) = default;
nested_exception& operator=(const nested_exception&) = default;
virtual ~nested_exception() noexcept;
void
rethrow_nested() const __attribute__ ((__noreturn__))
{ rethrow_exception(_M_ptr); }
exception_ptr
nested_ptr() const
{ return _M_ptr; }
};
template<typename _Except>
struct _Nested_exception : public _Except, public nested_exception
{
explicit _Nested_exception(_Except&& __ex)
: _Except(static_cast<_Except&&>(__ex))
{ }
};
template<typename _Ex>
struct __get_nested_helper
{
static const nested_exception*
_S_get(const _Ex& __ex)
{ return dynamic_cast<const nested_exception*>(&__ex); }
};
template<typename _Ex>
struct __get_nested_helper<_Ex*>
{
static const nested_exception*
_S_get(const _Ex* __ex)
{ return dynamic_cast<const nested_exception*>(__ex); }
};
template<typename _Ex>
inline const nested_exception*
__get_nested_exception(const _Ex& __ex)
{ return __get_nested_helper<_Ex>::_S_get(__ex); }
template<typename _Ex>
void
__throw_with_nested(_Ex&&, const nested_exception* = 0)
__attribute__ ((__noreturn__));
template<typename _Ex>
void
__throw_with_nested(_Ex&&, ...) __attribute__ ((__noreturn__));
template<typename _Ex>
inline void
__throw_with_nested(_Ex&& __ex, const nested_exception*)
{ throw __ex; }
template<typename _Ex>
inline void
__throw_with_nested(_Ex&& __ex, ...)
{ throw _Nested_exception<_Ex>(static_cast<_Ex&&>(__ex)); }
template<typename _Ex>
void
throw_with_nested(_Ex __ex) __attribute__ ((__noreturn__));
template<typename _Ex>
inline void
throw_with_nested(_Ex __ex)
{
if (__get_nested_exception(__ex))
throw __ex;
__throw_with_nested(static_cast<_Ex&&>(__ex), &__ex);
}
template<typename _Ex>
inline void
rethrow_if_nested(const _Ex& __ex)
{
if (const nested_exception* __nested = __get_nested_exception(__ex))
__nested->rethrow_nested();
}
inline void
rethrow_if_nested(const nested_exception& __ex)
{ __ex.rethrow_nested(); }
}
}
#pragma GCC visibility pop
# 156 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/exception" 2 3
# 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/new" 2 3
#pragma GCC visibility push(default)
extern "C++" {
namespace std
{
class bad_alloc : public exception
{
public:
bad_alloc() throw() { }
virtual ~bad_alloc() throw();
virtual const char* what() const throw();
};
struct nothrow_t { };
extern const nothrow_t nothrow;
typedef void (*new_handler)();
new_handler set_new_handler(new_handler) throw();
}
# 93 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/new" 3
void* operator new(std::size_t)
__attribute__((__externally_visible__));
void* operator new[](std::size_t)
__attribute__((__externally_visible__));
void operator delete(void*) noexcept
__attribute__((__externally_visible__));
void operator delete[](void*) noexcept
__attribute__((__externally_visible__));
void* operator new(std::size_t, const std::nothrow_t&) noexcept
__attribute__((__externally_visible__));
void* operator new[](std::size_t, const std::nothrow_t&) noexcept
__attribute__((__externally_visible__));
void operator delete(void*, const std::nothrow_t&) noexcept
__attribute__((__externally_visible__));
void operator delete[](void*, const std::nothrow_t&) noexcept
__attribute__((__externally_visible__));
inline void* operator new(std::size_t, void* __p) noexcept
{ return __p; }
inline void* operator new[](std::size_t, void* __p) noexcept
{ return __p; }
inline void operator delete (void*, void*) noexcept { }
inline void operator delete[](void*, void*) noexcept { }
}
#pragma GCC visibility pop
# 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/new_allocator.h" 2 3
namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
using std::size_t;
using std::ptrdiff_t;
# 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/new_allocator.h" 3
template<typename _Tp>
class new_allocator
{
public:
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Tp* pointer;
typedef const _Tp* const_pointer;
typedef _Tp& reference;
typedef const _Tp& const_reference;
typedef _Tp value_type;
template<typename _Tp1>
struct rebind
{ typedef new_allocator<_Tp1> other; };
new_allocator() noexcept { }
new_allocator(const new_allocator&) noexcept { }
template<typename _Tp1>
new_allocator(const new_allocator<_Tp1>&) noexcept { }
~new_allocator() noexcept { }
pointer
address(reference __x) const noexcept
{ return std::__addressof(__x); }
const_pointer
address(const_reference __x) const noexcept
{ return std::__addressof(__x); }
pointer
allocate(size_type __n, const void* = 0)
{
if (__n > this->max_size())
std::__throw_bad_alloc();
return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
}
void
deallocate(pointer __p, size_type)
{ ::operator delete(__p); }
size_type
max_size() const noexcept
{ return size_t(-1) / sizeof(_Tp); }
template<typename _Up, typename... _Args>
void
construct(_Up* __p, _Args&&... __args)
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
template<typename _Up>
void
destroy(_Up* __p) { __p->~_Up(); }
# 125 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/new_allocator.h" 3
};
template<typename _Tp>
inline bool
operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
{ return true; }
template<typename _Tp>
inline bool
operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
{ return false; }
}
# 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 2 3
# 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/allocator.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/allocator.h" 3
template<typename _Tp>
class allocator;
template<>
class allocator<void>
{
public:
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef void* pointer;
typedef const void* const_pointer;
typedef void value_type;
template<typename _Tp1>
struct rebind
{ typedef allocator<_Tp1> other; };
};
template<typename _Tp>
class allocator: public __gnu_cxx::new_allocator<_Tp>
{
public:
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Tp* pointer;
typedef const _Tp* const_pointer;
typedef _Tp& reference;
typedef const _Tp& const_reference;
typedef _Tp value_type;
template<typename _Tp1>
struct rebind
{ typedef allocator<_Tp1> other; };
allocator() throw() { }
allocator(const allocator& __a) throw()
: __gnu_cxx::new_allocator<_Tp>(__a) { }
template<typename _Tp1>
allocator(const allocator<_Tp1>&) throw() { }
~allocator() throw() { }
};
template<typename _T1, typename _T2>
inline bool
operator==(const allocator<_T1>&, const allocator<_T2>&)
{ return true; }
template<typename _Tp>
inline bool
operator==(const allocator<_Tp>&, const allocator<_Tp>&)
{ return true; }
template<typename _T1, typename _T2>
inline bool
operator!=(const allocator<_T1>&, const allocator<_T2>&)
{ return false; }
template<typename _Tp>
inline bool
operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
{ return false; }
# 144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/allocator.h" 3
extern template class allocator<char>;
extern template class allocator<wchar_t>;
template<typename _Alloc, bool = __is_empty(_Alloc)>
struct __alloc_swap
{ static void _S_do_it(_Alloc&, _Alloc&) { } };
template<typename _Alloc>
struct __alloc_swap<_Alloc, false>
{
static void
_S_do_it(_Alloc& __one, _Alloc& __two)
{
if (__one != __two)
swap(__one, __two);
}
};
template<typename _Alloc, bool = __is_empty(_Alloc)>
struct __alloc_neq
{
static bool
_S_do_it(const _Alloc&, const _Alloc&)
{ return false; }
};
template<typename _Alloc>
struct __alloc_neq<_Alloc, false>
{
static bool
_S_do_it(const _Alloc& __one, const _Alloc& __two)
{ return __one != __two; }
};
template<typename _Tp, bool
= __or_<is_copy_constructible<typename _Tp::value_type>,
is_nothrow_move_constructible<typename _Tp::value_type>>::value>
struct __shrink_to_fit_aux
{ static bool _S_do_it(_Tp&) { return false; } };
template<typename _Tp>
struct __shrink_to_fit_aux<_Tp, true>
{
static bool
_S_do_it(_Tp& __c)
{
try
{
_Tp(__make_move_if_noexcept_iterator(__c.begin()),
__make_move_if_noexcept_iterator(__c.end()),
__c.get_allocator()).swap(__c);
return true;
}
catch(...)
{ return false; }
}
};
template<typename, typename>
struct uses_allocator;
}
# 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_construct.h" 1 3
# 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_construct.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/alloc_traits.h" 1 3
# 32 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/alloc_traits.h" 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/alloc_traits.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 1 3
# 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/ptr_traits.h" 1 3
# 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/ptr_traits.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _Tp> class __has_element_type_helper : __sfinae_types { template<typename _Up> struct _Wrap_type { }; template<typename _Up> static __one __test(_Wrap_type<typename _Up::element_type>*); template<typename _Up> static __two __test(...); public: static constexpr bool value = sizeof(__test<_Tp>(0)) == 1; }; template<typename _Tp> struct __has_element_type : integral_constant<bool, __has_element_type_helper <typename remove_cv<_Tp>::type>::value> { };
template<typename _Tp> class __has_difference_type_helper : __sfinae_types { template<typename _Up> struct _Wrap_type { }; template<typename _Up> static __one __test(_Wrap_type<typename _Up::difference_type>*); template<typename _Up> static __two __test(...); public: static constexpr bool value = sizeof(__test<_Tp>(0)) == 1; }; template<typename _Tp> struct __has_difference_type : integral_constant<bool, __has_difference_type_helper <typename remove_cv<_Tp>::type>::value> { };
template<typename _Tp, bool = __has_element_type<_Tp>::value>
struct __ptrtr_elt_type;
template<typename _Tp>
struct __ptrtr_elt_type<_Tp, true>
{
typedef typename _Tp::element_type __type;
};
template<template<typename, typename...> class _SomePtr, typename _Tp,
typename... _Args>
struct __ptrtr_elt_type<_SomePtr<_Tp, _Args...>, false>
{
typedef _Tp __type;
};
template<typename _Tp, bool = __has_difference_type<_Tp>::value>
struct __ptrtr_diff_type
{
typedef typename _Tp::difference_type __type;
};
template<typename _Tp>
struct __ptrtr_diff_type<_Tp, false>
{
typedef ptrdiff_t __type;
};
template<typename _Ptr, typename _Up>
class __ptrtr_rebind_helper
{
template<typename _Ptr2, typename _Up2>
static constexpr bool
_S_chk(typename _Ptr2::template rebind<_Up2>*)
{ return true; }
template<typename, typename>
static constexpr bool
_S_chk(...)
{ return false; }
public:
static const bool __value = _S_chk<_Ptr, _Up>(nullptr);
};
template<typename _Ptr, typename _Up>
const bool __ptrtr_rebind_helper<_Ptr, _Up>::__value;
template<typename _Tp, typename _Up,
bool = __ptrtr_rebind_helper<_Tp, _Up>::__value>
struct __ptrtr_rebind;
template<typename _Tp, typename _Up>
struct __ptrtr_rebind<_Tp, _Up, true>
{
typedef typename _Tp::template rebind<_Up> __type;
};
template<template<typename, typename...> class _SomePtr, typename _Up,
typename _Tp, typename... _Args>
struct __ptrtr_rebind<_SomePtr<_Tp, _Args...>, _Up, false>
{
typedef _SomePtr<_Up, _Args...> __type;
};
template<typename _Tp, typename = typename remove_cv<_Tp>::type>
struct __ptrtr_not_void
{
typedef _Tp __type;
};
template<typename _Tp>
struct __ptrtr_not_void<_Tp, void>
{
struct __type { };
};
template<typename _Ptr>
class __ptrtr_pointer_to
{
typedef typename __ptrtr_elt_type<_Ptr>::__type __orig_type;
typedef typename __ptrtr_not_void<__orig_type>::__type __element_type;
public:
static _Ptr pointer_to(__element_type& __e)
{ return _Ptr::pointer_to(__e); }
};
template<typename _Ptr>
struct pointer_traits : __ptrtr_pointer_to<_Ptr>
{
typedef _Ptr pointer;
typedef typename __ptrtr_elt_type<_Ptr>::__type element_type;
typedef typename __ptrtr_diff_type<_Ptr>::__type difference_type;
template<typename _Up>
using rebind = typename __ptrtr_rebind<_Ptr, _Up>::__type;
};
template<typename _Tp>
struct pointer_traits<_Tp*>
{
typedef _Tp* pointer;
typedef _Tp element_type;
typedef ptrdiff_t difference_type;
template<typename _Up>
using rebind = _Up*;
static pointer
pointer_to(typename __ptrtr_not_void<element_type>::__type& __r) noexcept
{ return std::addressof(__r); }
};
}
# 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _Tp>
class allocator;
template<typename _Alloc, typename _Tp>
class __alloctr_rebind_helper
{
template<typename _Alloc2, typename _Tp2>
static constexpr bool
_S_chk(typename _Alloc2::template rebind<_Tp2>::other*)
{ return true; }
template<typename, typename>
static constexpr bool
_S_chk(...)
{ return false; }
public:
static const bool __value = _S_chk<_Alloc, _Tp>(nullptr);
};
template<typename _Alloc, typename _Tp>
const bool __alloctr_rebind_helper<_Alloc, _Tp>::__value;
template<typename _Alloc, typename _Tp,
bool = __alloctr_rebind_helper<_Alloc, _Tp>::__value>
struct __alloctr_rebind;
template<typename _Alloc, typename _Tp>
struct __alloctr_rebind<_Alloc, _Tp, true>
{
typedef typename _Alloc::template rebind<_Tp>::other __type;
};
template<template<typename, typename...> class _Alloc, typename _Tp,
typename _Up, typename... _Args>
struct __alloctr_rebind<_Alloc<_Up, _Args...>, _Tp, false>
{
typedef _Alloc<_Tp, _Args...> __type;
};
template<typename _Alloc>
struct allocator_traits
{
typedef _Alloc allocator_type;
typedef typename _Alloc::value_type value_type;
# 102 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
private: template<typename _Tp> static typename _Tp::pointer _S_pointer_helper(_Tp*); static value_type* _S_pointer_helper(...); typedef decltype(_S_pointer_helper((_Alloc*)0)) __pointer; public:
typedef __pointer pointer;
private: template<typename _Tp> static typename _Tp::const_pointer
_S_const_pointer_helper
# 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(_Tp*); static typename pointer_traits<pointer>::template rebind<const value_type>
_S_const_pointer_helper
# 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(...); typedef decltype(
_S_const_pointer_helper
# 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
((_Alloc*)0))
__const_pointer
# 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
; public:
# 120 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
typedef __const_pointer const_pointer;
private: template<typename _Tp> static typename _Tp::void_pointer
_S_void_pointer_helper
# 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(_Tp*); static typename pointer_traits<pointer>::template rebind<void>
_S_void_pointer_helper
# 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(...); typedef decltype(
_S_void_pointer_helper
# 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
((_Alloc*)0))
__void_pointer
# 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
; public:
# 131 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
typedef __void_pointer void_pointer;
private: template<typename _Tp> static typename _Tp::const_void_pointer
_S_const_void_pointer_helper
# 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(_Tp*); static typename pointer_traits<pointer>::template rebind<const void>
_S_const_void_pointer_helper
# 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(...); typedef decltype(
_S_const_void_pointer_helper
# 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
((_Alloc*)0))
__const_void_pointer
# 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
; public:
# 142 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
typedef __const_void_pointer const_void_pointer;
private: template<typename _Tp> static typename _Tp::difference_type
_S_difference_type_helper
# 144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(_Tp*); static typename pointer_traits<pointer>::difference_type
_S_difference_type_helper
# 144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(...); typedef decltype(
_S_difference_type_helper
# 144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
((_Alloc*)0))
__difference_type
# 144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
; public:
# 153 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
typedef __difference_type difference_type;
private: template<typename _Tp> static typename _Tp::size_type
_S_size_type_helper
# 155 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(_Tp*); static typename make_unsigned<difference_type>::type
_S_size_type_helper
# 155 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(...); typedef decltype(
_S_size_type_helper
# 155 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
((_Alloc*)0))
__size_type
# 155 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
; public:
# 164 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
typedef __size_type size_type;
private: template<typename _Tp> static typename _Tp::propagate_on_container_copy_assignment
_S_propagate_on_container_copy_assignment_helper
# 166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(_Tp*); static false_type
_S_propagate_on_container_copy_assignment_helper
# 166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(...); typedef decltype(
_S_propagate_on_container_copy_assignment_helper
# 166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
((_Alloc*)0))
__propagate_on_container_copy_assignment
# 166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
; public:
# 175 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
typedef __propagate_on_container_copy_assignment
propagate_on_container_copy_assignment;
private: template<typename _Tp> static typename _Tp::propagate_on_container_move_assignment
_S_propagate_on_container_move_assignment_helper
# 178 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(_Tp*); static false_type
_S_propagate_on_container_move_assignment_helper
# 178 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(...); typedef decltype(
_S_propagate_on_container_move_assignment_helper
# 178 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
((_Alloc*)0))
__propagate_on_container_move_assignment
# 178 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
; public:
# 187 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
typedef __propagate_on_container_move_assignment
propagate_on_container_move_assignment;
private: template<typename _Tp> static typename _Tp::propagate_on_container_swap
_S_propagate_on_container_swap_helper
# 190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(_Tp*); static false_type
_S_propagate_on_container_swap_helper
# 190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
(...); typedef decltype(
_S_propagate_on_container_swap_helper
# 190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
((_Alloc*)0))
__propagate_on_container_swap
# 190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
; public:
# 199 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
typedef __propagate_on_container_swap propagate_on_container_swap;
template<typename _Tp>
using rebind_alloc = typename __alloctr_rebind<_Alloc, _Tp>::__type;
template<typename _Tp>
using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
private:
template<typename _Alloc2>
struct __allocate_helper
{
template<typename _Alloc3,
typename = decltype(std::declval<_Alloc3*>()->allocate(
std::declval<size_type>(),
std::declval<const_void_pointer>()))>
static true_type __test(int);
template<typename>
static false_type __test(...);
typedef decltype(__test<_Alloc>(0)) type;
static const bool value = type::value;
};
template<typename _Alloc2>
static typename
enable_if<__allocate_helper<_Alloc2>::value, pointer>::type
_S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint)
{ return __a.allocate(__n, __hint); }
template<typename _Alloc2>
static typename
enable_if<!__allocate_helper<_Alloc2>::value, pointer>::type
_S_allocate(_Alloc2& __a, size_type __n, ...)
{ return __a.allocate(__n); }
template<typename _Tp, typename... _Args>
struct __construct_helper
{
template<typename _Alloc2,
typename = decltype(std::declval<_Alloc2*>()->construct(
std::declval<_Tp*>(), std::declval<_Args>()...))>
static true_type __test(int);
template<typename>
static false_type __test(...);
typedef decltype(__test<_Alloc>(0)) type;
static const bool value = type::value;
};
template<typename _Tp, typename... _Args>
static typename
enable_if<__construct_helper<_Tp, _Args...>::value, void>::type
_S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
{ __a.construct(__p, std::forward<_Args>(__args)...); }
template<typename _Tp, typename... _Args>
static typename
enable_if<__and_<__not_<__construct_helper<_Tp, _Args...>>,
is_constructible<_Tp, _Args...>>::value, void>::type
_S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
{ ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); }
template<typename _Tp>
struct __destroy_helper
{
template<typename _Alloc2,
typename = decltype(std::declval<_Alloc2*>()->destroy(
std::declval<_Tp*>()))>
static true_type __test(int);
template<typename>
static false_type __test(...);
typedef decltype(__test<_Alloc>(0)) type;
static const bool value = type::value;
};
template<typename _Tp>
static typename enable_if<__destroy_helper<_Tp>::value, void>::type
_S_destroy(_Alloc& __a, _Tp* __p)
{ __a.destroy(__p); }
template<typename _Tp>
static typename enable_if<!__destroy_helper<_Tp>::value, void>::type
_S_destroy(_Alloc&, _Tp* __p)
{ __p->~_Tp(); }
template<typename _Alloc2>
struct __maxsize_helper
{
template<typename _Alloc3,
typename = decltype(std::declval<_Alloc3*>()->max_size())>
static true_type __test(int);
template<typename>
static false_type __test(...);
typedef decltype(__test<_Alloc2>(0)) type;
static const bool value = type::value;
};
template<typename _Alloc2>
static typename
enable_if<__maxsize_helper<_Alloc2>::value, size_type>::type
_S_max_size(_Alloc2& __a)
{ return __a.max_size(); }
template<typename _Alloc2>
static typename
enable_if<!__maxsize_helper<_Alloc2>::value, size_type>::type
_S_max_size(_Alloc2&)
{ return __gnu_cxx::__numeric_traits<size_type>::__max; }
template<typename _Alloc2>
struct __select_helper
{
template<typename _Alloc3, typename
= decltype(std::declval<_Alloc3*>()
->select_on_container_copy_construction())>
static true_type __test(int);
template<typename>
static false_type __test(...);
typedef decltype(__test<_Alloc2>(0)) type;
static const bool value = type::value;
};
template<typename _Alloc2>
static typename
enable_if<__select_helper<_Alloc2>::value, _Alloc2>::type
_S_select(_Alloc2& __a)
{ return __a.select_on_container_copy_construction(); }
template<typename _Alloc2>
static typename
enable_if<!__select_helper<_Alloc2>::value, _Alloc2>::type
_S_select(_Alloc2& __a)
{ return __a; }
public:
# 351 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
static pointer
allocate(_Alloc& __a, size_type __n)
{ return __a.allocate(__n); }
# 366 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
static pointer
allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
{ return _S_allocate(__a, __n, __hint); }
# 378 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
static void deallocate(_Alloc& __a, pointer __p, size_type __n)
{ __a.deallocate(__p, __n); }
# 392 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
template<typename _Tp, typename... _Args>
static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
-> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...))
{ _S_construct(__a, __p, std::forward<_Args>(__args)...); }
# 405 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
template <class _Tp>
static void destroy(_Alloc& __a, _Tp* __p)
{ _S_destroy(__a, __p); }
# 417 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
static size_type max_size(const _Alloc& __a)
{ return _S_max_size(__a); }
# 428 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/alloc_traits.h" 3
static _Alloc
select_on_container_copy_construction(const _Alloc& __rhs)
{ return _S_select(__rhs); }
};
template<typename _Alloc>
template<typename _Alloc2>
const bool allocator_traits<_Alloc>::__allocate_helper<_Alloc2>::value;
template<typename _Alloc>
template<typename _Tp, typename... _Args>
const bool
allocator_traits<_Alloc>::__construct_helper<_Tp, _Args...>::value;
template<typename _Alloc>
template<typename _Tp>
const bool allocator_traits<_Alloc>::__destroy_helper<_Tp>::value;
template<typename _Alloc>
template<typename _Alloc2>
const bool allocator_traits<_Alloc>::__maxsize_helper<_Alloc2>::value;
template<typename _Alloc>
template<typename _Alloc2>
const bool allocator_traits<_Alloc>::__select_helper<_Alloc2>::value;
template<typename _Alloc>
inline void
__do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type)
{ __one = __two; }
template<typename _Alloc>
inline void
__do_alloc_on_copy(_Alloc&, const _Alloc&, false_type)
{ }
template<typename _Alloc>
inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
{
typedef allocator_traits<_Alloc> __traits;
typedef typename __traits::propagate_on_container_copy_assignment __pocca;
__do_alloc_on_copy(__one, __two, __pocca());
}
template<typename _Alloc>
inline _Alloc __alloc_on_copy(const _Alloc& __a)
{
typedef allocator_traits<_Alloc> __traits;
return __traits::select_on_container_copy_construction(__a);
}
template<typename _Alloc>
inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type)
{ __one = std::move(__two); }
template<typename _Alloc>
inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type)
{ }
template<typename _Alloc>
inline void __alloc_on_move(_Alloc& __one, _Alloc& __two)
{
typedef allocator_traits<_Alloc> __traits;
typedef typename __traits::propagate_on_container_move_assignment __pocma;
__do_alloc_on_move(__one, __two, __pocma());
}
template<typename _Alloc>
inline void __do_alloc_on_swap(_Alloc& __one, _Alloc& __two, true_type)
{
using std::swap;
swap(__one, __two);
}
template<typename _Alloc>
inline void __do_alloc_on_swap(_Alloc&, _Alloc&, false_type)
{ }
template<typename _Alloc>
inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two)
{
typedef allocator_traits<_Alloc> __traits;
typedef typename __traits::propagate_on_container_swap __pocs;
__do_alloc_on_swap(__one, __two, __pocs());
}
template<typename _Alloc>
class __is_copy_insertable_impl
{
typedef allocator_traits<_Alloc> _Traits;
template<typename _Up, typename
= decltype(_Traits::construct(std::declval<_Alloc&>(),
std::declval<_Up*>(),
std::declval<const _Up&>()))>
static true_type
_M_select(int);
template<typename _Up>
static false_type
_M_select(...);
public:
typedef decltype(_M_select<typename _Alloc::value_type>(0)) type;
};
template<typename _Alloc>
struct __is_copy_insertable
: __is_copy_insertable_impl<_Alloc>::type
{ };
template<typename _Tp>
struct __is_copy_insertable<allocator<_Tp>>
: is_copy_constructible<_Tp>
{ };
template<bool> struct __allow_copy_cons { };
template<>
struct __allow_copy_cons<false>
{
__allow_copy_cons() = default;
__allow_copy_cons(const __allow_copy_cons&) = delete;
__allow_copy_cons(__allow_copy_cons&&) = default;
__allow_copy_cons& operator=(const __allow_copy_cons&) = default;
__allow_copy_cons& operator=(__allow_copy_cons&&) = default;
};
template<typename _Alloc>
using __check_copy_constructible
= __allow_copy_cons<__is_copy_insertable<_Alloc>::value>;
}
# 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/alloc_traits.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename> struct allocator;
}
namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
template<typename _Alloc>
struct __allocator_always_compares_equal
{ static const bool value = false; };
template<typename _Alloc>
const bool __allocator_always_compares_equal<_Alloc>::value;
template<typename _Tp>
struct __allocator_always_compares_equal<std::allocator<_Tp>>
{ static const bool value = true; };
template<typename _Tp>
const bool __allocator_always_compares_equal<std::allocator<_Tp>>::value;
template<typename, typename> struct array_allocator;
template<typename _Tp, typename _Array>
struct __allocator_always_compares_equal<array_allocator<_Tp, _Array>>
{ static const bool value = true; };
template<typename _Tp, typename _Array>
const bool
__allocator_always_compares_equal<array_allocator<_Tp, _Array>>::value;
template<typename> struct mt_allocator;
template<typename _Tp>
struct __allocator_always_compares_equal<mt_allocator<_Tp>>
{ static const bool value = true; };
template<typename _Tp>
const bool __allocator_always_compares_equal<mt_allocator<_Tp>>::value;
template<typename> struct new_allocator;
template<typename _Tp>
struct __allocator_always_compares_equal<new_allocator<_Tp>>
{ static const bool value = true; };
template<typename _Tp>
const bool __allocator_always_compares_equal<new_allocator<_Tp>>::value;
template<typename> struct pool_allocator;
template<typename _Tp>
struct __allocator_always_compares_equal<pool_allocator<_Tp>>
{ static const bool value = true; };
template<typename _Tp>
const bool __allocator_always_compares_equal<pool_allocator<_Tp>>::value;
template<typename _Alloc>
struct __alloc_traits
: std::allocator_traits<_Alloc>
{
typedef _Alloc allocator_type;
typedef std::allocator_traits<_Alloc> _Base_type;
typedef typename _Base_type::value_type value_type;
typedef typename _Base_type::pointer pointer;
typedef typename _Base_type::const_pointer const_pointer;
typedef typename _Base_type::size_type size_type;
typedef value_type& reference;
typedef const value_type& const_reference;
using _Base_type::allocate;
using _Base_type::deallocate;
using _Base_type::construct;
using _Base_type::destroy;
using _Base_type::max_size;
private:
template<typename _Ptr>
struct __is_custom_pointer
: std::integral_constant<bool, std::is_same<pointer, _Ptr>::value
&& !std::is_pointer<_Ptr>::value>
{ };
public:
template<typename _Ptr, typename... _Args>
static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type
construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
{
_Base_type::construct(__a, std::addressof(*__p),
std::forward<_Args>(__args)...);
}
template<typename _Ptr>
static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type
destroy(_Alloc& __a, _Ptr __p)
{ _Base_type::destroy(__a, std::addressof(*__p)); }
static _Alloc _S_select_on_copy(const _Alloc& __a)
{ return _Base_type::select_on_container_copy_construction(__a); }
static void _S_on_swap(_Alloc& __a, _Alloc& __b)
{ std::__alloc_on_swap(__a, __b); }
static constexpr bool _S_propagate_on_copy_assign()
{ return _Base_type::propagate_on_container_copy_assignment::value; }
static constexpr bool _S_propagate_on_move_assign()
{ return _Base_type::propagate_on_container_move_assignment::value; }
static constexpr bool _S_propagate_on_swap()
{ return _Base_type::propagate_on_container_swap::value; }
static constexpr bool _S_always_equal()
{ return __allocator_always_compares_equal<_Alloc>::value; }
static constexpr bool _S_nothrow_move()
{ return _S_propagate_on_move_assign() || _S_always_equal(); }
static constexpr bool _S_nothrow_swap()
{
using std::swap;
return !_S_propagate_on_swap()
|| noexcept(swap(std::declval<_Alloc&>(), std::declval<_Alloc&>()));
}
template<typename _Tp>
struct rebind
{ typedef typename _Base_type::template rebind_alloc<_Tp> other; };
# 224 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/alloc_traits.h" 3
};
}
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_construct.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _T1, typename... _Args>
inline void
_Construct(_T1* __p, _Args&&... __args)
{ ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
# 92 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_construct.h" 3
template<typename _Tp>
inline void
_Destroy(_Tp* __pointer)
{ __pointer->~_Tp(); }
template<bool>
struct _Destroy_aux
{
template<typename _ForwardIterator>
static void
__destroy(_ForwardIterator __first, _ForwardIterator __last)
{
for (; __first != __last; ++__first)
std::_Destroy(std::__addressof(*__first));
}
};
template<>
struct _Destroy_aux<true>
{
template<typename _ForwardIterator>
static void
__destroy(_ForwardIterator, _ForwardIterator) { }
};
template<typename _ForwardIterator>
inline void
_Destroy(_ForwardIterator __first, _ForwardIterator __last)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_Value_type;
std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
__destroy(__first, __last);
}
template <typename _Tp> class allocator;
template<typename _ForwardIterator, typename _Allocator>
void
_Destroy(_ForwardIterator __first, _ForwardIterator __last,
_Allocator& __alloc)
{
typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
for (; __first != __last; ++__first)
__traits::destroy(__alloc, std::__addressof(*__first));
}
template<typename _ForwardIterator, typename _Tp>
inline void
_Destroy(_ForwardIterator __first, _ForwardIterator __last,
allocator<_Tp>&)
{
_Destroy(__first, __last);
}
}
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_uninitialized.h" 1 3
# 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_uninitialized.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<bool _TrivialValueTypes>
struct __uninitialized_copy
{
template<typename _InputIterator, typename _ForwardIterator>
static _ForwardIterator
__uninit_copy(_InputIterator __first, _InputIterator __last,
_ForwardIterator __result)
{
_ForwardIterator __cur = __result;
try
{
for (; __first != __last; ++__first, ++__cur)
std::_Construct(std::__addressof(*__cur), *__first);
return __cur;
}
catch(...)
{
std::_Destroy(__result, __cur);
throw;
}
}
};
template<>
struct __uninitialized_copy<true>
{
template<typename _InputIterator, typename _ForwardIterator>
static _ForwardIterator
__uninit_copy(_InputIterator __first, _InputIterator __last,
_ForwardIterator __result)
{ return std::copy(__first, __last, __result); }
};
# 107 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_uninitialized.h" 3
template<typename _InputIterator, typename _ForwardIterator>
inline _ForwardIterator
uninitialized_copy(_InputIterator __first, _InputIterator __last,
_ForwardIterator __result)
{
typedef typename iterator_traits<_InputIterator>::value_type
_ValueType1;
typedef typename iterator_traits<_ForwardIterator>::value_type
_ValueType2;
return std::__uninitialized_copy<(__is_trivial(_ValueType1)
&& __is_trivial(_ValueType2))>::
__uninit_copy(__first, __last, __result);
}
template<bool _TrivialValueType>
struct __uninitialized_fill
{
template<typename _ForwardIterator, typename _Tp>
static void
__uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
const _Tp& __x)
{
_ForwardIterator __cur = __first;
try
{
for (; __cur != __last; ++__cur)
std::_Construct(std::__addressof(*__cur), __x);
}
catch(...)
{
std::_Destroy(__first, __cur);
throw;
}
}
};
template<>
struct __uninitialized_fill<true>
{
template<typename _ForwardIterator, typename _Tp>
static void
__uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
const _Tp& __x)
{ std::fill(__first, __last, __x); }
};
# 164 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_uninitialized.h" 3
template<typename _ForwardIterator, typename _Tp>
inline void
uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
const _Tp& __x)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_ValueType;
std::__uninitialized_fill<__is_trivial(_ValueType)>::
__uninit_fill(__first, __last, __x);
}
template<bool _TrivialValueType>
struct __uninitialized_fill_n
{
template<typename _ForwardIterator, typename _Size, typename _Tp>
static void
__uninit_fill_n(_ForwardIterator __first, _Size __n,
const _Tp& __x)
{
_ForwardIterator __cur = __first;
try
{
for (; __n > 0; --__n, ++__cur)
std::_Construct(std::__addressof(*__cur), __x);
}
catch(...)
{
std::_Destroy(__first, __cur);
throw;
}
}
};
template<>
struct __uninitialized_fill_n<true>
{
template<typename _ForwardIterator, typename _Size, typename _Tp>
static void
__uninit_fill_n(_ForwardIterator __first, _Size __n,
const _Tp& __x)
{ std::fill_n(__first, __n, __x); }
};
# 218 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_uninitialized.h" 3
template<typename _ForwardIterator, typename _Size, typename _Tp>
inline void
uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_ValueType;
std::__uninitialized_fill_n<__is_trivial(_ValueType)>::
__uninit_fill_n(__first, __n, __x);
}
template<typename _InputIterator, typename _ForwardIterator,
typename _Allocator>
_ForwardIterator
__uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
_ForwardIterator __result, _Allocator& __alloc)
{
_ForwardIterator __cur = __result;
try
{
typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
for (; __first != __last; ++__first, ++__cur)
__traits::construct(__alloc, std::__addressof(*__cur), *__first);
return __cur;
}
catch(...)
{
std::_Destroy(__result, __cur, __alloc);
throw;
}
}
template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
inline _ForwardIterator
__uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
_ForwardIterator __result, allocator<_Tp>&)
{ return std::uninitialized_copy(__first, __last, __result); }
template<typename _InputIterator, typename _ForwardIterator,
typename _Allocator>
inline _ForwardIterator
__uninitialized_move_a(_InputIterator __first, _InputIterator __last,
_ForwardIterator __result, _Allocator& __alloc)
{
return std::__uninitialized_copy_a(std::make_move_iterator(__first),
std::make_move_iterator(__last),
__result, __alloc);
}
template<typename _InputIterator, typename _ForwardIterator,
typename _Allocator>
inline _ForwardIterator
__uninitialized_move_if_noexcept_a(_InputIterator __first,
_InputIterator __last,
_ForwardIterator __result,
_Allocator& __alloc)
{
return std::__uninitialized_copy_a
(std::__make_move_if_noexcept_iterator(__first),
std::__make_move_if_noexcept_iterator(__last), __result, __alloc);
}
template<typename _ForwardIterator, typename _Tp, typename _Allocator>
void
__uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
const _Tp& __x, _Allocator& __alloc)
{
_ForwardIterator __cur = __first;
try
{
typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
for (; __cur != __last; ++__cur)
__traits::construct(__alloc, std::__addressof(*__cur), __x);
}
catch(...)
{
std::_Destroy(__first, __cur, __alloc);
throw;
}
}
template<typename _ForwardIterator, typename _Tp, typename _Tp2>
inline void
__uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
const _Tp& __x, allocator<_Tp2>&)
{ std::uninitialized_fill(__first, __last, __x); }
template<typename _ForwardIterator, typename _Size, typename _Tp,
typename _Allocator>
void
__uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
const _Tp& __x, _Allocator& __alloc)
{
_ForwardIterator __cur = __first;
try
{
typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
for (; __n > 0; --__n, ++__cur)
__traits::construct(__alloc, std::__addressof(*__cur), __x);
}
catch(...)
{
std::_Destroy(__first, __cur, __alloc);
throw;
}
}
template<typename _ForwardIterator, typename _Size, typename _Tp,
typename _Tp2>
inline void
__uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
const _Tp& __x, allocator<_Tp2>&)
{ std::uninitialized_fill_n(__first, __n, __x); }
# 348 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_uninitialized.h" 3
template<typename _InputIterator1, typename _InputIterator2,
typename _ForwardIterator, typename _Allocator>
inline _ForwardIterator
__uninitialized_copy_move(_InputIterator1 __first1,
_InputIterator1 __last1,
_InputIterator2 __first2,
_InputIterator2 __last2,
_ForwardIterator __result,
_Allocator& __alloc)
{
_ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
__result,
__alloc);
try
{
return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc);
}
catch(...)
{
std::_Destroy(__result, __mid, __alloc);
throw;
}
}
template<typename _InputIterator1, typename _InputIterator2,
typename _ForwardIterator, typename _Allocator>
inline _ForwardIterator
__uninitialized_move_copy(_InputIterator1 __first1,
_InputIterator1 __last1,
_InputIterator2 __first2,
_InputIterator2 __last2,
_ForwardIterator __result,
_Allocator& __alloc)
{
_ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1,
__result,
__alloc);
try
{
return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
}
catch(...)
{
std::_Destroy(__result, __mid, __alloc);
throw;
}
}
template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
typename _Allocator>
inline _ForwardIterator
__uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid,
const _Tp& __x, _InputIterator __first,
_InputIterator __last, _Allocator& __alloc)
{
std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
try
{
return std::__uninitialized_move_a(__first, __last, __mid, __alloc);
}
catch(...)
{
std::_Destroy(__result, __mid, __alloc);
throw;
}
}
template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
typename _Allocator>
inline void
__uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1,
_ForwardIterator __first2,
_ForwardIterator __last2, const _Tp& __x,
_Allocator& __alloc)
{
_ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1,
__first2,
__alloc);
try
{
std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
}
catch(...)
{
std::_Destroy(__first2, __mid2, __alloc);
throw;
}
}
template<bool _TrivialValueType>
struct __uninitialized_default_1
{
template<typename _ForwardIterator>
static void
__uninit_default(_ForwardIterator __first, _ForwardIterator __last)
{
_ForwardIterator __cur = __first;
try
{
for (; __cur != __last; ++__cur)
std::_Construct(std::__addressof(*__cur));
}
catch(...)
{
std::_Destroy(__first, __cur);
throw;
}
}
};
template<>
struct __uninitialized_default_1<true>
{
template<typename _ForwardIterator>
static void
__uninit_default(_ForwardIterator __first, _ForwardIterator __last)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_ValueType;
std::fill(__first, __last, _ValueType());
}
};
template<bool _TrivialValueType>
struct __uninitialized_default_n_1
{
template<typename _ForwardIterator, typename _Size>
static void
__uninit_default_n(_ForwardIterator __first, _Size __n)
{
_ForwardIterator __cur = __first;
try
{
for (; __n > 0; --__n, ++__cur)
std::_Construct(std::__addressof(*__cur));
}
catch(...)
{
std::_Destroy(__first, __cur);
throw;
}
}
};
template<>
struct __uninitialized_default_n_1<true>
{
template<typename _ForwardIterator, typename _Size>
static void
__uninit_default_n(_ForwardIterator __first, _Size __n)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_ValueType;
std::fill_n(__first, __n, _ValueType());
}
};
template<typename _ForwardIterator>
inline void
__uninitialized_default(_ForwardIterator __first,
_ForwardIterator __last)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_ValueType;
std::__uninitialized_default_1<__is_trivial(_ValueType)>::
__uninit_default(__first, __last);
}
template<typename _ForwardIterator, typename _Size>
inline void
__uninitialized_default_n(_ForwardIterator __first, _Size __n)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_ValueType;
std::__uninitialized_default_n_1<__is_trivial(_ValueType)>::
__uninit_default_n(__first, __n);
}
template<typename _ForwardIterator, typename _Allocator>
void
__uninitialized_default_a(_ForwardIterator __first,
_ForwardIterator __last,
_Allocator& __alloc)
{
_ForwardIterator __cur = __first;
try
{
typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
for (; __cur != __last; ++__cur)
__traits::construct(__alloc, std::__addressof(*__cur));
}
catch(...)
{
std::_Destroy(__first, __cur, __alloc);
throw;
}
}
template<typename _ForwardIterator, typename _Tp>
inline void
__uninitialized_default_a(_ForwardIterator __first,
_ForwardIterator __last,
allocator<_Tp>&)
{ std::__uninitialized_default(__first, __last); }
template<typename _ForwardIterator, typename _Size, typename _Allocator>
void
__uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
_Allocator& __alloc)
{
_ForwardIterator __cur = __first;
try
{
typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
for (; __n > 0; --__n, ++__cur)
__traits::construct(__alloc, std::__addressof(*__cur));
}
catch(...)
{
std::_Destroy(__first, __cur, __alloc);
throw;
}
}
template<typename _ForwardIterator, typename _Size, typename _Tp>
inline void
__uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
allocator<_Tp>&)
{ std::__uninitialized_default_n(__first, __n); }
template<typename _InputIterator, typename _Size,
typename _ForwardIterator>
_ForwardIterator
__uninitialized_copy_n(_InputIterator __first, _Size __n,
_ForwardIterator __result, input_iterator_tag)
{
_ForwardIterator __cur = __result;
try
{
for (; __n > 0; --__n, ++__first, ++__cur)
std::_Construct(std::__addressof(*__cur), *__first);
return __cur;
}
catch(...)
{
std::_Destroy(__result, __cur);
throw;
}
}
template<typename _RandomAccessIterator, typename _Size,
typename _ForwardIterator>
inline _ForwardIterator
__uninitialized_copy_n(_RandomAccessIterator __first, _Size __n,
_ForwardIterator __result,
random_access_iterator_tag)
{ return std::uninitialized_copy(__first, __first + __n, __result); }
# 647 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_uninitialized.h" 3
template<typename _InputIterator, typename _Size, typename _ForwardIterator>
inline _ForwardIterator
uninitialized_copy_n(_InputIterator __first, _Size __n,
_ForwardIterator __result)
{ return std::__uninitialized_copy_n(__first, __n, __result,
std::__iterator_category(__first)); }
}
# 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 1 3
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/initializer_list" 1 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/initializer_list" 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/initializer_list" 3
#pragma GCC visibility push(default)
namespace std
{
template<class _E>
class initializer_list
{
public:
typedef _E value_type;
typedef const _E& reference;
typedef const _E& const_reference;
typedef size_t size_type;
typedef const _E* iterator;
typedef const _E* const_iterator;
private:
iterator _M_array;
size_type _M_len;
constexpr initializer_list(const_iterator __a, size_type __l)
: _M_array(__a), _M_len(__l) { }
public:
constexpr initializer_list() noexcept
: _M_array(0), _M_len(0) { }
constexpr size_type
size() const noexcept { return _M_len; }
constexpr const_iterator
begin() const noexcept { return _M_array; }
constexpr const_iterator
end() const noexcept { return begin() + size(); }
};
template<class _Tp>
constexpr const _Tp*
begin(initializer_list<_Tp> __ils) noexcept
{ return __ils.begin(); }
template<class _Tp>
constexpr const _Tp*
end(initializer_list<_Tp> __ils) noexcept
{ return __ils.end(); }
}
#pragma GCC visibility pop
# 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _Tp, typename _Alloc>
struct _Vector_base
{
typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
rebind<_Tp>::other _Tp_alloc_type;
typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer
pointer;
struct _Vector_impl
: public _Tp_alloc_type
{
pointer _M_start;
pointer _M_finish;
pointer _M_end_of_storage;
_Vector_impl()
: _Tp_alloc_type(), _M_start(0), _M_finish(0), _M_end_of_storage(0)
{ }
_Vector_impl(_Tp_alloc_type const& __a)
: _Tp_alloc_type(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0)
{ }
_Vector_impl(_Tp_alloc_type&& __a)
: _Tp_alloc_type(std::move(__a)),
_M_start(0), _M_finish(0), _M_end_of_storage(0)
{ }
void _M_swap_data(_Vector_impl& __x)
{
std::swap(_M_start, __x._M_start);
std::swap(_M_finish, __x._M_finish);
std::swap(_M_end_of_storage, __x._M_end_of_storage);
}
};
public:
typedef _Alloc allocator_type;
_Tp_alloc_type&
_M_get_Tp_allocator() noexcept
{ return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
const _Tp_alloc_type&
_M_get_Tp_allocator() const noexcept
{ return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
allocator_type
get_allocator() const noexcept
{ return allocator_type(_M_get_Tp_allocator()); }
_Vector_base()
: _M_impl() { }
_Vector_base(const allocator_type& __a)
: _M_impl(__a) { }
_Vector_base(size_t __n)
: _M_impl()
{ _M_create_storage(__n); }
_Vector_base(size_t __n, const allocator_type& __a)
: _M_impl(__a)
{ _M_create_storage(__n); }
_Vector_base(_Tp_alloc_type&& __a)
: _M_impl(std::move(__a)) { }
_Vector_base(_Vector_base&& __x)
: _M_impl(std::move(__x._M_get_Tp_allocator()))
{ this->_M_impl._M_swap_data(__x._M_impl); }
_Vector_base(_Vector_base&& __x, const allocator_type& __a)
: _M_impl(__a)
{
if (__x.get_allocator() == __a)
this->_M_impl._M_swap_data(__x._M_impl);
else
{
size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start;
_M_create_storage(__n);
}
}
~_Vector_base()
{ _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage
- this->_M_impl._M_start); }
public:
_Vector_impl _M_impl;
pointer
_M_allocate(size_t __n)
{ return __n != 0 ? _M_impl.allocate(__n) : 0; }
void
_M_deallocate(pointer __p, size_t __n)
{
if (__p)
_M_impl.deallocate(__p, __n);
}
private:
void
_M_create_storage(size_t __n)
{
this->_M_impl._M_start = this->_M_allocate(__n);
this->_M_impl._M_finish = this->_M_impl._M_start;
this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
}
};
# 207 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
class vector : protected _Vector_base<_Tp, _Alloc>
{
typedef typename _Alloc::value_type _Alloc_value_type;
typedef _Vector_base<_Tp, _Alloc> _Base;
typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
public:
typedef _Tp value_type;
typedef typename _Base::pointer pointer;
typedef typename _Alloc_traits::const_pointer const_pointer;
typedef typename _Alloc_traits::reference reference;
typedef typename _Alloc_traits::const_reference const_reference;
typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
typedef __gnu_cxx::__normal_iterator<const_pointer, vector>
const_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Alloc allocator_type;
protected:
using _Base::_M_allocate;
using _Base::_M_deallocate;
using _Base::_M_impl;
using _Base::_M_get_Tp_allocator;
public:
vector()
: _Base() { }
explicit
vector(const allocator_type& __a)
: _Base(__a) { }
# 265 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
explicit
vector(size_type __n)
: _Base(__n)
{ _M_default_initialize(__n); }
# 278 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
vector(size_type __n, const value_type& __value,
const allocator_type& __a = allocator_type())
: _Base(__n, __a)
{ _M_fill_initialize(__n, __value); }
# 307 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
vector(const vector& __x)
: _Base(__x.size(),
_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()))
{ this->_M_impl._M_finish =
std::__uninitialized_copy_a(__x.begin(), __x.end(),
this->_M_impl._M_start,
_M_get_Tp_allocator());
}
# 324 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
vector(vector&& __x) noexcept
: _Base(std::move(__x)) { }
vector(const vector& __x, const allocator_type& __a)
: _Base(__x.size(), __a)
{ this->_M_impl._M_finish =
std::__uninitialized_copy_a(__x.begin(), __x.end(),
this->_M_impl._M_start,
_M_get_Tp_allocator());
}
vector(vector&& __rv, const allocator_type& __m)
: _Base(std::move(__rv), __m)
{
if (__rv.get_allocator() != __m)
{
this->_M_impl._M_finish =
std::__uninitialized_move_a(__rv.begin(), __rv.end(),
this->_M_impl._M_start,
_M_get_Tp_allocator());
__rv.clear();
}
}
# 361 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
vector(initializer_list<value_type> __l,
const allocator_type& __a = allocator_type())
: _Base(__a)
{
_M_range_initialize(__l.begin(), __l.end(),
random_access_iterator_tag());
}
# 386 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _InputIterator>
vector(_InputIterator __first, _InputIterator __last,
const allocator_type& __a = allocator_type())
: _Base(__a)
{
typedef typename std::__is_integer<_InputIterator>::__type _Integral;
_M_initialize_dispatch(__first, __last, _Integral());
}
~vector() noexcept
{ std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator()); }
# 414 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
vector&
operator=(const vector& __x);
# 426 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
vector&
operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
{
constexpr bool __move_storage =
_Alloc_traits::_S_propagate_on_move_assign()
|| _Alloc_traits::_S_always_equal();
_M_move_assign(std::move(__x),
integral_constant<bool, __move_storage>());
return *this;
}
# 448 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
vector&
operator=(initializer_list<value_type> __l)
{
this->assign(__l.begin(), __l.end());
return *this;
}
# 466 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
assign(size_type __n, const value_type& __val)
{ _M_fill_assign(__n, __val); }
# 482 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _InputIterator>
void
assign(_InputIterator __first, _InputIterator __last)
{
typedef typename std::__is_integer<_InputIterator>::__type _Integral;
_M_assign_dispatch(__first, __last, _Integral());
}
# 503 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
assign(initializer_list<value_type> __l)
{ this->assign(__l.begin(), __l.end()); }
using _Base::get_allocator;
iterator
begin() noexcept
{ return iterator(this->_M_impl._M_start); }
const_iterator
begin() const noexcept
{ return const_iterator(this->_M_impl._M_start); }
iterator
end() noexcept
{ return iterator(this->_M_impl._M_finish); }
const_iterator
end() const noexcept
{ return const_iterator(this->_M_impl._M_finish); }
reverse_iterator
rbegin() noexcept
{ return reverse_iterator(end()); }
const_reverse_iterator
rbegin() const noexcept
{ return const_reverse_iterator(end()); }
reverse_iterator
rend() noexcept
{ return reverse_iterator(begin()); }
const_reverse_iterator
rend() const noexcept
{ return const_reverse_iterator(begin()); }
const_iterator
cbegin() const noexcept
{ return const_iterator(this->_M_impl._M_start); }
const_iterator
cend() const noexcept
{ return const_iterator(this->_M_impl._M_finish); }
const_reverse_iterator
crbegin() const noexcept
{ return const_reverse_iterator(end()); }
const_reverse_iterator
crend() const noexcept
{ return const_reverse_iterator(begin()); }
size_type
size() const noexcept
{ return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
size_type
max_size() const noexcept
{ return _Alloc_traits::max_size(_M_get_Tp_allocator()); }
# 643 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
resize(size_type __new_size)
{
if (__new_size > size())
_M_default_append(__new_size - size());
else if (__new_size < size())
_M_erase_at_end(this->_M_impl._M_start + __new_size);
}
# 663 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
resize(size_type __new_size, const value_type& __x)
{
if (__new_size > size())
insert(end(), __new_size - size(), __x);
else if (__new_size < size())
_M_erase_at_end(this->_M_impl._M_start + __new_size);
}
# 695 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
shrink_to_fit()
{ _M_shrink_to_fit(); }
size_type
capacity() const noexcept
{ return size_type(this->_M_impl._M_end_of_storage
- this->_M_impl._M_start); }
bool
empty() const noexcept
{ return begin() == end(); }
# 734 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
reserve(size_type __n);
# 749 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
reference
operator[](size_type __n)
{ return *(this->_M_impl._M_start + __n); }
# 764 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
const_reference
operator[](size_type __n) const
{ return *(this->_M_impl._M_start + __n); }
protected:
void
_M_range_check(size_type __n) const
{
if (__n >= this->size())
__throw_out_of_range(("vector::_M_range_check"));
}
public:
# 789 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
reference
at(size_type __n)
{
_M_range_check(__n);
return (*this)[__n];
}
# 807 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
const_reference
at(size_type __n) const
{
_M_range_check(__n);
return (*this)[__n];
}
reference
front()
{ return *begin(); }
const_reference
front() const
{ return *begin(); }
reference
back()
{ return *(end() - 1); }
const_reference
back() const
{ return *(end() - 1); }
# 854 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
_Tp*
data() noexcept
{ return std::__addressof(front()); }
const _Tp*
data() const noexcept
{ return std::__addressof(front()); }
# 880 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
push_back(const value_type& __x)
{
if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
{
_Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
__x);
++this->_M_impl._M_finish;
}
else
_M_emplace_back_aux(__x);
}
void
push_back(value_type&& __x)
{ emplace_back(std::move(__x)); }
template<typename... _Args>
void
emplace_back(_Args&&... __args);
# 916 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
pop_back()
{
--this->_M_impl._M_finish;
_Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
}
# 936 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename... _Args>
iterator
emplace(iterator __position, _Args&&... __args);
# 952 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
iterator
insert(iterator __position, const value_type& __x);
# 967 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
iterator
insert(iterator __position, value_type&& __x)
{ return emplace(__position, std::move(__x)); }
# 984 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
insert(iterator __position, initializer_list<value_type> __l)
{ this->insert(__position, __l.begin(), __l.end()); }
# 1002 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
insert(iterator __position, size_type __n, const value_type& __x)
{ _M_fill_insert(__position, __n, __x); }
# 1020 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _InputIterator>
void
insert(iterator __position, _InputIterator __first,
_InputIterator __last)
{
typedef typename std::__is_integer<_InputIterator>::__type _Integral;
_M_insert_dispatch(__position, __first, __last, _Integral());
}
# 1045 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
iterator
erase(iterator __position);
# 1066 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
iterator
erase(iterator __first, iterator __last);
# 1078 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
void
swap(vector& __x)
noexcept(_Alloc_traits::_S_nothrow_swap())
{
this->_M_impl._M_swap_data(__x._M_impl);
_Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
__x._M_get_Tp_allocator());
}
void
clear() noexcept
{ _M_erase_at_end(this->_M_impl._M_start); }
protected:
template<typename _ForwardIterator>
pointer
_M_allocate_and_copy(size_type __n,
_ForwardIterator __first, _ForwardIterator __last)
{
pointer __result = this->_M_allocate(__n);
try
{
std::__uninitialized_copy_a(__first, __last, __result,
_M_get_Tp_allocator());
return __result;
}
catch(...)
{
_M_deallocate(__result, __n);
throw;
}
}
# 1130 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _Integer>
void
_M_initialize_dispatch(_Integer __n, _Integer __value, __true_type)
{
this->_M_impl._M_start = _M_allocate(static_cast<size_type>(__n));
this->_M_impl._M_end_of_storage =
this->_M_impl._M_start + static_cast<size_type>(__n);
_M_fill_initialize(static_cast<size_type>(__n), __value);
}
template<typename _InputIterator>
void
_M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
__false_type)
{
typedef typename std::iterator_traits<_InputIterator>::
iterator_category _IterCategory;
_M_range_initialize(__first, __last, _IterCategory());
}
template<typename _InputIterator>
void
_M_range_initialize(_InputIterator __first,
_InputIterator __last, std::input_iterator_tag)
{
for (; __first != __last; ++__first)
push_back(*__first);
}
template<typename _ForwardIterator>
void
_M_range_initialize(_ForwardIterator __first,
_ForwardIterator __last, std::forward_iterator_tag)
{
const size_type __n = std::distance(__first, __last);
this->_M_impl._M_start = this->_M_allocate(__n);
this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
this->_M_impl._M_finish =
std::__uninitialized_copy_a(__first, __last,
this->_M_impl._M_start,
_M_get_Tp_allocator());
}
void
_M_fill_initialize(size_type __n, const value_type& __value)
{
std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
_M_get_Tp_allocator());
this->_M_impl._M_finish = this->_M_impl._M_end_of_storage;
}
void
_M_default_initialize(size_type __n)
{
std::__uninitialized_default_n_a(this->_M_impl._M_start, __n,
_M_get_Tp_allocator());
this->_M_impl._M_finish = this->_M_impl._M_end_of_storage;
}
# 1204 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _Integer>
void
_M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
{ _M_fill_assign(__n, __val); }
template<typename _InputIterator>
void
_M_assign_dispatch(_InputIterator __first, _InputIterator __last,
__false_type)
{
typedef typename std::iterator_traits<_InputIterator>::
iterator_category _IterCategory;
_M_assign_aux(__first, __last, _IterCategory());
}
template<typename _InputIterator>
void
_M_assign_aux(_InputIterator __first, _InputIterator __last,
std::input_iterator_tag);
template<typename _ForwardIterator>
void
_M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
std::forward_iterator_tag);
void
_M_fill_assign(size_type __n, const value_type& __val);
# 1244 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _Integer>
void
_M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
__true_type)
{ _M_fill_insert(__pos, __n, __val); }
template<typename _InputIterator>
void
_M_insert_dispatch(iterator __pos, _InputIterator __first,
_InputIterator __last, __false_type)
{
typedef typename std::iterator_traits<_InputIterator>::
iterator_category _IterCategory;
_M_range_insert(__pos, __first, __last, _IterCategory());
}
template<typename _InputIterator>
void
_M_range_insert(iterator __pos, _InputIterator __first,
_InputIterator __last, std::input_iterator_tag);
template<typename _ForwardIterator>
void
_M_range_insert(iterator __pos, _ForwardIterator __first,
_ForwardIterator __last, std::forward_iterator_tag);
void
_M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
void
_M_default_append(size_type __n);
bool
_M_shrink_to_fit();
template<typename... _Args>
void
_M_insert_aux(iterator __position, _Args&&... __args);
template<typename... _Args>
void
_M_emplace_back_aux(_Args&&... __args);
size_type
_M_check_len(size_type __n, const char* __s) const
{
if (max_size() - size() < __n)
__throw_length_error((__s));
const size_type __len = size() + std::max(size(), __n);
return (__len < size() || __len > max_size()) ? max_size() : __len;
}
void
_M_erase_at_end(pointer __pos)
{
std::_Destroy(__pos, this->_M_impl._M_finish, _M_get_Tp_allocator());
this->_M_impl._M_finish = __pos;
}
private:
void
_M_move_assign(vector&& __x, std::true_type) noexcept
{
const vector __tmp(std::move(*this));
this->_M_impl._M_swap_data(__x._M_impl);
if (_Alloc_traits::_S_propagate_on_move_assign())
std::__alloc_on_move(_M_get_Tp_allocator(),
__x._M_get_Tp_allocator());
}
void
_M_move_assign(vector&& __x, std::false_type)
{
if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
_M_move_assign(std::move(__x), std::true_type());
else
{
this->assign(std::__make_move_if_noexcept_iterator(__x.begin()),
std::__make_move_if_noexcept_iterator(__x.end()));
__x.clear();
}
}
};
# 1368 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _Tp, typename _Alloc>
inline bool
operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
{ return (__x.size() == __y.size()
&& std::equal(__x.begin(), __x.end(), __y.begin())); }
# 1385 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_vector.h" 3
template<typename _Tp, typename _Alloc>
inline bool
operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
{ return std::lexicographical_compare(__x.begin(), __x.end(),
__y.begin(), __y.end()); }
template<typename _Tp, typename _Alloc>
inline bool
operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
{ return !(__x == __y); }
template<typename _Tp, typename _Alloc>
inline bool
operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
{ return __y < __x; }
template<typename _Tp, typename _Alloc>
inline bool
operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
{ return !(__y < __x); }
template<typename _Tp, typename _Alloc>
inline bool
operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
{ return !(__x < __y); }
template<typename _Tp, typename _Alloc>
inline void
swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
{ __x.swap(__y); }
}
# 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_bvector.h" 1 3
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_bvector.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
typedef unsigned long _Bit_type;
enum { _S_word_bit = int(8 * sizeof(_Bit_type)) };
struct _Bit_reference
{
_Bit_type * _M_p;
_Bit_type _M_mask;
_Bit_reference(_Bit_type * __x, _Bit_type __y)
: _M_p(__x), _M_mask(__y) { }
_Bit_reference() noexcept : _M_p(0), _M_mask(0) { }
operator bool() const noexcept
{ return !!(*_M_p & _M_mask); }
_Bit_reference&
operator=(bool __x) noexcept
{
if (__x)
*_M_p |= _M_mask;
else
*_M_p &= ~_M_mask;
return *this;
}
_Bit_reference&
operator=(const _Bit_reference& __x) noexcept
{ return *this = bool(__x); }
bool
operator==(const _Bit_reference& __x) const
{ return bool(*this) == bool(__x); }
bool
operator<(const _Bit_reference& __x) const
{ return !bool(*this) && bool(__x); }
void
flip() noexcept
{ *_M_p ^= _M_mask; }
};
struct _Bit_iterator_base
: public std::iterator<std::random_access_iterator_tag, bool>
{
_Bit_type * _M_p;
unsigned int _M_offset;
_Bit_iterator_base(_Bit_type * __x, unsigned int __y)
: _M_p(__x), _M_offset(__y) { }
void
_M_bump_up()
{
if (_M_offset++ == int(_S_word_bit) - 1)
{
_M_offset = 0;
++_M_p;
}
}
void
_M_bump_down()
{
if (_M_offset-- == 0)
{
_M_offset = int(_S_word_bit) - 1;
--_M_p;
}
}
void
_M_incr(ptrdiff_t __i)
{
difference_type __n = __i + _M_offset;
_M_p += __n / int(_S_word_bit);
__n = __n % int(_S_word_bit);
if (__n < 0)
{
__n += int(_S_word_bit);
--_M_p;
}
_M_offset = static_cast<unsigned int>(__n);
}
bool
operator==(const _Bit_iterator_base& __i) const
{ return _M_p == __i._M_p && _M_offset == __i._M_offset; }
bool
operator<(const _Bit_iterator_base& __i) const
{
return _M_p < __i._M_p
|| (_M_p == __i._M_p && _M_offset < __i._M_offset);
}
bool
operator!=(const _Bit_iterator_base& __i) const
{ return !(*this == __i); }
bool
operator>(const _Bit_iterator_base& __i) const
{ return __i < *this; }
bool
operator<=(const _Bit_iterator_base& __i) const
{ return !(__i < *this); }
bool
operator>=(const _Bit_iterator_base& __i) const
{ return !(*this < __i); }
};
inline ptrdiff_t
operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
{
return (int(_S_word_bit) * (__x._M_p - __y._M_p)
+ __x._M_offset - __y._M_offset);
}
struct _Bit_iterator : public _Bit_iterator_base
{
typedef _Bit_reference reference;
typedef _Bit_reference* pointer;
typedef _Bit_iterator iterator;
_Bit_iterator() : _Bit_iterator_base(0, 0) { }
_Bit_iterator(_Bit_type * __x, unsigned int __y)
: _Bit_iterator_base(__x, __y) { }
reference
operator*() const
{ return reference(_M_p, 1UL << _M_offset); }
iterator&
operator++()
{
_M_bump_up();
return *this;
}
iterator
operator++(int)
{
iterator __tmp = *this;
_M_bump_up();
return __tmp;
}
iterator&
operator--()
{
_M_bump_down();
return *this;
}
iterator
operator--(int)
{
iterator __tmp = *this;
_M_bump_down();
return __tmp;
}
iterator&
operator+=(difference_type __i)
{
_M_incr(__i);
return *this;
}
iterator&
operator-=(difference_type __i)
{
*this += -__i;
return *this;
}
iterator
operator+(difference_type __i) const
{
iterator __tmp = *this;
return __tmp += __i;
}
iterator
operator-(difference_type __i) const
{
iterator __tmp = *this;
return __tmp -= __i;
}
reference
operator[](difference_type __i) const
{ return *(*this + __i); }
};
inline _Bit_iterator
operator+(ptrdiff_t __n, const _Bit_iterator& __x)
{ return __x + __n; }
struct _Bit_const_iterator : public _Bit_iterator_base
{
typedef bool reference;
typedef bool const_reference;
typedef const bool* pointer;
typedef _Bit_const_iterator const_iterator;
_Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
_Bit_const_iterator(_Bit_type * __x, unsigned int __y)
: _Bit_iterator_base(__x, __y) { }
_Bit_const_iterator(const _Bit_iterator& __x)
: _Bit_iterator_base(__x._M_p, __x._M_offset) { }
const_reference
operator*() const
{ return _Bit_reference(_M_p, 1UL << _M_offset); }
const_iterator&
operator++()
{
_M_bump_up();
return *this;
}
const_iterator
operator++(int)
{
const_iterator __tmp = *this;
_M_bump_up();
return __tmp;
}
const_iterator&
operator--()
{
_M_bump_down();
return *this;
}
const_iterator
operator--(int)
{
const_iterator __tmp = *this;
_M_bump_down();
return __tmp;
}
const_iterator&
operator+=(difference_type __i)
{
_M_incr(__i);
return *this;
}
const_iterator&
operator-=(difference_type __i)
{
*this += -__i;
return *this;
}
const_iterator
operator+(difference_type __i) const
{
const_iterator __tmp = *this;
return __tmp += __i;
}
const_iterator
operator-(difference_type __i) const
{
const_iterator __tmp = *this;
return __tmp -= __i;
}
const_reference
operator[](difference_type __i) const
{ return *(*this + __i); }
};
inline _Bit_const_iterator
operator+(ptrdiff_t __n, const _Bit_const_iterator& __x)
{ return __x + __n; }
inline void
__fill_bvector(_Bit_iterator __first, _Bit_iterator __last, bool __x)
{
for (; __first != __last; ++__first)
*__first = __x;
}
inline void
fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x)
{
if (__first._M_p != __last._M_p)
{
std::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0);
__fill_bvector(__first, _Bit_iterator(__first._M_p + 1, 0), __x);
__fill_bvector(_Bit_iterator(__last._M_p, 0), __last, __x);
}
else
__fill_bvector(__first, __last, __x);
}
template<typename _Alloc>
struct _Bvector_base
{
typedef typename _Alloc::template rebind<_Bit_type>::other
_Bit_alloc_type;
struct _Bvector_impl
: public _Bit_alloc_type
{
_Bit_iterator _M_start;
_Bit_iterator _M_finish;
_Bit_type* _M_end_of_storage;
_Bvector_impl()
: _Bit_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage(0)
{ }
_Bvector_impl(const _Bit_alloc_type& __a)
: _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage(0)
{ }
_Bvector_impl(_Bit_alloc_type&& __a)
: _Bit_alloc_type(std::move(__a)), _M_start(), _M_finish(),
_M_end_of_storage(0)
{ }
};
public:
typedef _Alloc allocator_type;
_Bit_alloc_type&
_M_get_Bit_allocator() noexcept
{ return *static_cast<_Bit_alloc_type*>(&this->_M_impl); }
const _Bit_alloc_type&
_M_get_Bit_allocator() const noexcept
{ return *static_cast<const _Bit_alloc_type*>(&this->_M_impl); }
allocator_type
get_allocator() const noexcept
{ return allocator_type(_M_get_Bit_allocator()); }
_Bvector_base()
: _M_impl() { }
_Bvector_base(const allocator_type& __a)
: _M_impl(__a) { }
_Bvector_base(_Bvector_base&& __x) noexcept
: _M_impl(std::move(__x._M_get_Bit_allocator()))
{
this->_M_impl._M_start = __x._M_impl._M_start;
this->_M_impl._M_finish = __x._M_impl._M_finish;
this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage;
__x._M_impl._M_start = _Bit_iterator();
__x._M_impl._M_finish = _Bit_iterator();
__x._M_impl._M_end_of_storage = 0;
}
~_Bvector_base()
{ this->_M_deallocate(); }
protected:
_Bvector_impl _M_impl;
_Bit_type*
_M_allocate(size_t __n)
{ return _M_impl.allocate(_S_nword(__n)); }
void
_M_deallocate()
{
if (_M_impl._M_start._M_p)
_M_impl.deallocate(_M_impl._M_start._M_p,
_M_impl._M_end_of_storage - _M_impl._M_start._M_p);
}
static size_t
_S_nword(size_t __n)
{ return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); }
};
}
namespace std __attribute__ ((__visibility__ ("default")))
{
# 490 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_bvector.h" 3
template<typename _Alloc>
class vector<bool, _Alloc> : protected _Bvector_base<_Alloc>
{
typedef _Bvector_base<_Alloc> _Base;
template<typename> friend class hash;
public:
typedef bool value_type;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Bit_reference reference;
typedef bool const_reference;
typedef _Bit_reference* pointer;
typedef const bool* const_pointer;
typedef _Bit_iterator iterator;
typedef _Bit_const_iterator const_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef _Alloc allocator_type;
allocator_type get_allocator() const
{ return _Base::get_allocator(); }
protected:
using _Base::_M_allocate;
using _Base::_M_deallocate;
using _Base::_S_nword;
using _Base::_M_get_Bit_allocator;
public:
vector()
: _Base() { }
explicit
vector(const allocator_type& __a)
: _Base(__a) { }
explicit
vector(size_type __n, const bool& __value = bool(),
const allocator_type& __a = allocator_type())
: _Base(__a)
{
_M_initialize(__n);
std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage,
__value ? ~0 : 0);
}
vector(const vector& __x)
: _Base(__x._M_get_Bit_allocator())
{
_M_initialize(__x.size());
_M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start);
}
vector(vector&& __x) noexcept
: _Base(std::move(__x)) { }
vector(initializer_list<bool> __l,
const allocator_type& __a = allocator_type())
: _Base(__a)
{
_M_initialize_range(__l.begin(), __l.end(),
random_access_iterator_tag());
}
template<typename _InputIterator>
vector(_InputIterator __first, _InputIterator __last,
const allocator_type& __a = allocator_type())
: _Base(__a)
{
typedef typename std::__is_integer<_InputIterator>::__type _Integral;
_M_initialize_dispatch(__first, __last, _Integral());
}
~vector() noexcept { }
vector&
operator=(const vector& __x)
{
if (&__x == this)
return *this;
if (__x.size() > capacity())
{
this->_M_deallocate();
_M_initialize(__x.size());
}
this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
begin());
return *this;
}
vector&
operator=(vector&& __x)
{
this->clear();
this->swap(__x);
return *this;
}
vector&
operator=(initializer_list<bool> __l)
{
this->assign (__l.begin(), __l.end());
return *this;
}
void
assign(size_type __n, const bool& __x)
{ _M_fill_assign(__n, __x); }
template<typename _InputIterator>
void
assign(_InputIterator __first, _InputIterator __last)
{
typedef typename std::__is_integer<_InputIterator>::__type _Integral;
_M_assign_dispatch(__first, __last, _Integral());
}
void
assign(initializer_list<bool> __l)
{ this->assign(__l.begin(), __l.end()); }
iterator
begin() noexcept
{ return this->_M_impl._M_start; }
const_iterator
begin() const noexcept
{ return this->_M_impl._M_start; }
iterator
end() noexcept
{ return this->_M_impl._M_finish; }
const_iterator
end() const noexcept
{ return this->_M_impl._M_finish; }
reverse_iterator
rbegin() noexcept
{ return reverse_iterator(end()); }
const_reverse_iterator
rbegin() const noexcept
{ return const_reverse_iterator(end()); }
reverse_iterator
rend() noexcept
{ return reverse_iterator(begin()); }
const_reverse_iterator
rend() const noexcept
{ return const_reverse_iterator(begin()); }
const_iterator
cbegin() const noexcept
{ return this->_M_impl._M_start; }
const_iterator
cend() const noexcept
{ return this->_M_impl._M_finish; }
const_reverse_iterator
crbegin() const noexcept
{ return const_reverse_iterator(end()); }
const_reverse_iterator
crend() const noexcept
{ return const_reverse_iterator(begin()); }
size_type
size() const noexcept
{ return size_type(end() - begin()); }
size_type
max_size() const noexcept
{
const size_type __isize =
__gnu_cxx::__numeric_traits<difference_type>::__max
- int(_S_word_bit) + 1;
const size_type __asize = _M_get_Bit_allocator().max_size();
return (__asize <= __isize / int(_S_word_bit)
? __asize * int(_S_word_bit) : __isize);
}
size_type
capacity() const noexcept
{ return size_type(const_iterator(this->_M_impl._M_end_of_storage, 0)
- begin()); }
bool
empty() const noexcept
{ return begin() == end(); }
reference
operator[](size_type __n)
{
return *iterator(this->_M_impl._M_start._M_p
+ __n / int(_S_word_bit), __n % int(_S_word_bit));
}
const_reference
operator[](size_type __n) const
{
return *const_iterator(this->_M_impl._M_start._M_p
+ __n / int(_S_word_bit), __n % int(_S_word_bit));
}
protected:
void
_M_range_check(size_type __n) const
{
if (__n >= this->size())
__throw_out_of_range(("vector<bool>::_M_range_check"));
}
public:
reference
at(size_type __n)
{ _M_range_check(__n); return (*this)[__n]; }
const_reference
at(size_type __n) const
{ _M_range_check(__n); return (*this)[__n]; }
void
reserve(size_type __n)
{
if (__n > max_size())
__throw_length_error(("vector::reserve"));
if (capacity() < __n)
_M_reallocate(__n);
}
reference
front()
{ return *begin(); }
const_reference
front() const
{ return *begin(); }
reference
back()
{ return *(end() - 1); }
const_reference
back() const
{ return *(end() - 1); }
void
data() noexcept { }
void
push_back(bool __x)
{
if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage)
*this->_M_impl._M_finish++ = __x;
else
_M_insert_aux(end(), __x);
}
void
swap(vector& __x)
{
std::swap(this->_M_impl._M_start, __x._M_impl._M_start);
std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish);
std::swap(this->_M_impl._M_end_of_storage,
__x._M_impl._M_end_of_storage);
std::__alloc_swap<typename _Base::_Bit_alloc_type>::
_S_do_it(_M_get_Bit_allocator(), __x._M_get_Bit_allocator());
}
static void
swap(reference __x, reference __y) noexcept
{
bool __tmp = __x;
__x = __y;
__y = __tmp;
}
iterator
insert(iterator __position, const bool& __x = bool())
{
const difference_type __n = __position - begin();
if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage
&& __position == end())
*this->_M_impl._M_finish++ = __x;
else
_M_insert_aux(__position, __x);
return begin() + __n;
}
template<typename _InputIterator>
void
insert(iterator __position,
_InputIterator __first, _InputIterator __last)
{
typedef typename std::__is_integer<_InputIterator>::__type _Integral;
_M_insert_dispatch(__position, __first, __last, _Integral());
}
void
insert(iterator __position, size_type __n, const bool& __x)
{ _M_fill_insert(__position, __n, __x); }
void insert(iterator __p, initializer_list<bool> __l)
{ this->insert(__p, __l.begin(), __l.end()); }
void
pop_back()
{ --this->_M_impl._M_finish; }
iterator
erase(iterator __position)
{
if (__position + 1 != end())
std::copy(__position + 1, end(), __position);
--this->_M_impl._M_finish;
return __position;
}
iterator
erase(iterator __first, iterator __last)
{
if (__first != __last)
_M_erase_at_end(std::copy(__last, end(), __first));
return __first;
}
void
resize(size_type __new_size, bool __x = bool())
{
if (__new_size < size())
_M_erase_at_end(begin() + difference_type(__new_size));
else
insert(end(), __new_size - size(), __x);
}
void
shrink_to_fit()
{ _M_shrink_to_fit(); }
void
flip() noexcept
{
for (_Bit_type * __p = this->_M_impl._M_start._M_p;
__p != this->_M_impl._M_end_of_storage; ++__p)
*__p = ~*__p;
}
void
clear() noexcept
{ _M_erase_at_end(begin()); }
protected:
iterator
_M_copy_aligned(const_iterator __first, const_iterator __last,
iterator __result)
{
_Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
return std::copy(const_iterator(__last._M_p, 0), __last,
iterator(__q, 0));
}
void
_M_initialize(size_type __n)
{
_Bit_type* __q = this->_M_allocate(__n);
this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
this->_M_impl._M_start = iterator(__q, 0);
this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n);
}
void
_M_reallocate(size_type __n);
bool
_M_shrink_to_fit();
template<typename _Integer>
void
_M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
{
_M_initialize(static_cast<size_type>(__n));
std::fill(this->_M_impl._M_start._M_p,
this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
}
template<typename _InputIterator>
void
_M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
__false_type)
{ _M_initialize_range(__first, __last,
std::__iterator_category(__first)); }
template<typename _InputIterator>
void
_M_initialize_range(_InputIterator __first, _InputIterator __last,
std::input_iterator_tag)
{
for (; __first != __last; ++__first)
push_back(*__first);
}
template<typename _ForwardIterator>
void
_M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
std::forward_iterator_tag)
{
const size_type __n = std::distance(__first, __last);
_M_initialize(__n);
std::copy(__first, __last, this->_M_impl._M_start);
}
template<typename _Integer>
void
_M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
{ _M_fill_assign(__n, __val); }
template<class _InputIterator>
void
_M_assign_dispatch(_InputIterator __first, _InputIterator __last,
__false_type)
{ _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
void
_M_fill_assign(size_t __n, bool __x)
{
if (__n > size())
{
std::fill(this->_M_impl._M_start._M_p,
this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
insert(end(), __n - size(), __x);
}
else
{
_M_erase_at_end(begin() + __n);
std::fill(this->_M_impl._M_start._M_p,
this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
}
}
template<typename _InputIterator>
void
_M_assign_aux(_InputIterator __first, _InputIterator __last,
std::input_iterator_tag)
{
iterator __cur = begin();
for (; __first != __last && __cur != end(); ++__cur, ++__first)
*__cur = *__first;
if (__first == __last)
_M_erase_at_end(__cur);
else
insert(end(), __first, __last);
}
template<typename _ForwardIterator>
void
_M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
std::forward_iterator_tag)
{
const size_type __len = std::distance(__first, __last);
if (__len < size())
_M_erase_at_end(std::copy(__first, __last, begin()));
else
{
_ForwardIterator __mid = __first;
std::advance(__mid, size());
std::copy(__first, __mid, begin());
insert(end(), __mid, __last);
}
}
template<typename _Integer>
void
_M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x,
__true_type)
{ _M_fill_insert(__pos, __n, __x); }
template<typename _InputIterator>
void
_M_insert_dispatch(iterator __pos,
_InputIterator __first, _InputIterator __last,
__false_type)
{ _M_insert_range(__pos, __first, __last,
std::__iterator_category(__first)); }
void
_M_fill_insert(iterator __position, size_type __n, bool __x);
template<typename _InputIterator>
void
_M_insert_range(iterator __pos, _InputIterator __first,
_InputIterator __last, std::input_iterator_tag)
{
for (; __first != __last; ++__first)
{
__pos = insert(__pos, *__first);
++__pos;
}
}
template<typename _ForwardIterator>
void
_M_insert_range(iterator __position, _ForwardIterator __first,
_ForwardIterator __last, std::forward_iterator_tag);
void
_M_insert_aux(iterator __position, bool __x);
size_type
_M_check_len(size_type __n, const char* __s) const
{
if (max_size() - size() < __n)
__throw_length_error((__s));
const size_type __len = size() + std::max(size(), __n);
return (__len < size() || __len > max_size()) ? max_size() : __len;
}
void
_M_erase_at_end(iterator __pos)
{ this->_M_impl._M_finish = __pos; }
};
}
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functional_hash.h" 1 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functional_hash.h" 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functional_hash.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/hash_bytes.h" 1 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/hash_bytes.h" 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/hash_bytes.h" 3
namespace std
{
size_t
_Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
size_t
_Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
}
# 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functional_hash.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functional_hash.h" 3
template<typename _Result, typename _Arg>
struct __hash_base
{
typedef _Result result_type;
typedef _Arg argument_type;
};
template<typename _Tp>
struct hash : public __hash_base<size_t, _Tp>
{
static_assert(sizeof(_Tp) < 0,
"std::hash is not specialized for this type");
size_t operator()(const _Tp&) const noexcept;
};
template<typename _Tp>
struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
{
size_t
operator()(_Tp* __p) const noexcept
{ return reinterpret_cast<size_t>(__p); }
};
# 85 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/functional_hash.h" 3
template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
struct _Hash_impl
{
static size_t
hash(const void* __ptr, size_t __clength,
size_t __seed = static_cast<size_t>(0xc70f6907UL))
{ return _Hash_bytes(__ptr, __clength, __seed); }
template<typename _Tp>
static size_t
hash(const _Tp& __val)
{ return hash(&__val, sizeof(__val)); }
template<typename _Tp>
static size_t
__hash_combine(const _Tp& __val, size_t __hash)
{ return hash(&__val, sizeof(__val), __hash); }
};
struct _Fnv_hash_impl
{
static size_t
hash(const void* __ptr, size_t __clength,
size_t __seed = static_cast<size_t>(2166136261UL))
{ return _Fnv_hash_bytes(__ptr, __clength, __seed); }
template<typename _Tp>
static size_t
hash(const _Tp& __val)
{ return hash(&__val, sizeof(__val)); }
template<typename _Tp>
static size_t
__hash_combine(const _Tp& __val, size_t __hash)
{ return hash(&__val, sizeof(__val), __hash); }
};
template<>
struct hash<float> : public __hash_base<size_t, float>
{
size_t
operator()(float __val) const noexcept
{
return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
}
};
template<>
struct hash<double> : public __hash_base<size_t, double>
{
size_t
operator()(double __val) const noexcept
{
return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
}
};
template<>
struct hash<long double>
: public __hash_base<size_t, long double>
{
__attribute__ ((__pure__)) size_t
operator()(long double __val) const noexcept;
};
}
# 1066 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_bvector.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _Alloc>
struct hash<std::vector<bool, _Alloc>>
: public __hash_base<size_t, std::vector<bool, _Alloc>>
{
size_t
operator()(const std::vector<bool, _Alloc>&) const noexcept;
};
}
# 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/range_access.h" 1 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/range_access.h" 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/range_access.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<class _Container>
inline auto
begin(_Container& __cont) -> decltype(__cont.begin())
{ return __cont.begin(); }
template<class _Container>
inline auto
begin(const _Container& __cont) -> decltype(__cont.begin())
{ return __cont.begin(); }
template<class _Container>
inline auto
end(_Container& __cont) -> decltype(__cont.end())
{ return __cont.end(); }
template<class _Container>
inline auto
end(const _Container& __cont) -> decltype(__cont.end())
{ return __cont.end(); }
template<class _Tp, size_t _Nm>
inline _Tp*
begin(_Tp (&__arr)[_Nm])
{ return __arr; }
template<class _Tp, size_t _Nm>
inline _Tp*
end(_Tp (&__arr)[_Nm])
{ return __arr + _Nm; }
}
# 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/vector.tcc" 1 3
# 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/vector.tcc" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _Tp, typename _Alloc>
void
vector<_Tp, _Alloc>::
reserve(size_type __n)
{
if (__n > this->max_size())
__throw_length_error(("vector::reserve"));
if (this->capacity() < __n)
{
const size_type __old_size = size();
pointer __tmp = _M_allocate_and_copy(__n,
std::__make_move_if_noexcept_iterator(this->_M_impl._M_start),
std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish));
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator());
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = __tmp;
this->_M_impl._M_finish = __tmp + __old_size;
this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
}
}
template<typename _Tp, typename _Alloc>
template<typename... _Args>
void
vector<_Tp, _Alloc>::
emplace_back(_Args&&... __args)
{
if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
{
_Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
std::forward<_Args>(__args)...);
++this->_M_impl._M_finish;
}
else
_M_emplace_back_aux(std::forward<_Args>(__args)...);
}
template<typename _Tp, typename _Alloc>
typename vector<_Tp, _Alloc>::iterator
vector<_Tp, _Alloc>::
insert(iterator __position, const value_type& __x)
{
const size_type __n = __position - begin();
if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage
&& __position == end())
{
_Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, __x);
++this->_M_impl._M_finish;
}
else
{
if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
{
_Tp __x_copy = __x;
_M_insert_aux(__position, std::move(__x_copy));
}
else
_M_insert_aux(__position, __x);
}
return iterator(this->_M_impl._M_start + __n);
}
template<typename _Tp, typename _Alloc>
typename vector<_Tp, _Alloc>::iterator
vector<_Tp, _Alloc>::
erase(iterator __position)
{
if (__position + 1 != end())
std::move(__position + 1, end(), __position);
--this->_M_impl._M_finish;
_Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
return __position;
}
template<typename _Tp, typename _Alloc>
typename vector<_Tp, _Alloc>::iterator
vector<_Tp, _Alloc>::
erase(iterator __first, iterator __last)
{
if (__first != __last)
{
if (__last != end())
std::move(__last, end(), __first);
_M_erase_at_end(__first.base() + (end() - __last));
}
return __first;
}
template<typename _Tp, typename _Alloc>
vector<_Tp, _Alloc>&
vector<_Tp, _Alloc>::
operator=(const vector<_Tp, _Alloc>& __x)
{
if (&__x != this)
{
if (_Alloc_traits::_S_propagate_on_copy_assign())
{
if (!_Alloc_traits::_S_always_equal()
&& _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
{
this->clear();
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = nullptr;
this->_M_impl._M_finish = nullptr;
this->_M_impl._M_end_of_storage = nullptr;
}
std::__alloc_on_copy(_M_get_Tp_allocator(),
__x._M_get_Tp_allocator());
}
const size_type __xlen = __x.size();
if (__xlen > capacity())
{
pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
__x.end());
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator());
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = __tmp;
this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
}
else if (size() >= __xlen)
{
std::_Destroy(std::copy(__x.begin(), __x.end(), begin()),
end(), _M_get_Tp_allocator());
}
else
{
std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(),
this->_M_impl._M_start);
std::__uninitialized_copy_a(__x._M_impl._M_start + size(),
__x._M_impl._M_finish,
this->_M_impl._M_finish,
_M_get_Tp_allocator());
}
this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
}
return *this;
}
template<typename _Tp, typename _Alloc>
void
vector<_Tp, _Alloc>::
_M_fill_assign(size_t __n, const value_type& __val)
{
if (__n > capacity())
{
vector __tmp(__n, __val, _M_get_Tp_allocator());
__tmp.swap(*this);
}
else if (__n > size())
{
std::fill(begin(), end(), __val);
std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
__n - size(), __val,
_M_get_Tp_allocator());
this->_M_impl._M_finish += __n - size();
}
else
_M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val));
}
template<typename _Tp, typename _Alloc>
template<typename _InputIterator>
void
vector<_Tp, _Alloc>::
_M_assign_aux(_InputIterator __first, _InputIterator __last,
std::input_iterator_tag)
{
pointer __cur(this->_M_impl._M_start);
for (; __first != __last && __cur != this->_M_impl._M_finish;
++__cur, ++__first)
*__cur = *__first;
if (__first == __last)
_M_erase_at_end(__cur);
else
insert(end(), __first, __last);
}
template<typename _Tp, typename _Alloc>
template<typename _ForwardIterator>
void
vector<_Tp, _Alloc>::
_M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
std::forward_iterator_tag)
{
const size_type __len = std::distance(__first, __last);
if (__len > capacity())
{
pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator());
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = __tmp;
this->_M_impl._M_finish = this->_M_impl._M_start + __len;
this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
}
else if (size() >= __len)
_M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start));
else
{
_ForwardIterator __mid = __first;
std::advance(__mid, size());
std::copy(__first, __mid, this->_M_impl._M_start);
this->_M_impl._M_finish =
std::__uninitialized_copy_a(__mid, __last,
this->_M_impl._M_finish,
_M_get_Tp_allocator());
}
}
template<typename _Tp, typename _Alloc>
template<typename... _Args>
typename vector<_Tp, _Alloc>::iterator
vector<_Tp, _Alloc>::
emplace(iterator __position, _Args&&... __args)
{
const size_type __n = __position - begin();
if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage
&& __position == end())
{
_Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
std::forward<_Args>(__args)...);
++this->_M_impl._M_finish;
}
else
_M_insert_aux(__position, std::forward<_Args>(__args)...);
return iterator(this->_M_impl._M_start + __n);
}
template<typename _Tp, typename _Alloc>
template<typename... _Args>
void
vector<_Tp, _Alloc>::
_M_insert_aux(iterator __position, _Args&&... __args)
{
if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
{
_Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
std::move(*(this->_M_impl._M_finish - 1))
);
++this->_M_impl._M_finish;
std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1)
;
*__position = _Tp(std::forward<_Args>(__args)...);
}
else
{
const size_type __len =
_M_check_len(size_type(1), "vector::_M_insert_aux");
const size_type __elems_before = __position - begin();
pointer __new_start(this->_M_allocate(__len));
pointer __new_finish(__new_start);
try
{
_Alloc_traits::construct(this->_M_impl,
__new_start + __elems_before,
std::forward<_Args>(__args)...);
__new_finish = 0;
__new_finish
= std::__uninitialized_move_if_noexcept_a
(this->_M_impl._M_start, __position.base(),
__new_start, _M_get_Tp_allocator());
++__new_finish;
__new_finish
= std::__uninitialized_move_if_noexcept_a
(__position.base(), this->_M_impl._M_finish,
__new_finish, _M_get_Tp_allocator());
}
catch(...)
{
if (!__new_finish)
_Alloc_traits::destroy(this->_M_impl,
__new_start + __elems_before);
else
std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
_M_deallocate(__new_start, __len);
throw;
}
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator());
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = __new_start;
this->_M_impl._M_finish = __new_finish;
this->_M_impl._M_end_of_storage = __new_start + __len;
}
}
template<typename _Tp, typename _Alloc>
template<typename... _Args>
void
vector<_Tp, _Alloc>::
_M_emplace_back_aux(_Args&&... __args)
{
const size_type __len =
_M_check_len(size_type(1), "vector::_M_emplace_back_aux");
pointer __new_start(this->_M_allocate(__len));
pointer __new_finish(__new_start);
try
{
_Alloc_traits::construct(this->_M_impl, __new_start + size(),
std::forward<_Args>(__args)...);
__new_finish = 0;
__new_finish
= std::__uninitialized_move_if_noexcept_a
(this->_M_impl._M_start, this->_M_impl._M_finish,
__new_start, _M_get_Tp_allocator());
++__new_finish;
}
catch(...)
{
if (!__new_finish)
_Alloc_traits::destroy(this->_M_impl, __new_start + size());
else
std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
_M_deallocate(__new_start, __len);
throw;
}
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator());
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = __new_start;
this->_M_impl._M_finish = __new_finish;
this->_M_impl._M_end_of_storage = __new_start + __len;
}
template<typename _Tp, typename _Alloc>
void
vector<_Tp, _Alloc>::
_M_fill_insert(iterator __position, size_type __n, const value_type& __x)
{
if (__n != 0)
{
if (size_type(this->_M_impl._M_end_of_storage
- this->_M_impl._M_finish) >= __n)
{
value_type __x_copy = __x;
const size_type __elems_after = end() - __position;
pointer __old_finish(this->_M_impl._M_finish);
if (__elems_after > __n)
{
std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
this->_M_impl._M_finish,
this->_M_impl._M_finish,
_M_get_Tp_allocator());
this->_M_impl._M_finish += __n;
std::move_backward(__position.base(), __old_finish - __n, __old_finish)
;
std::fill(__position.base(), __position.base() + __n,
__x_copy);
}
else
{
std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
__n - __elems_after,
__x_copy,
_M_get_Tp_allocator());
this->_M_impl._M_finish += __n - __elems_after;
std::__uninitialized_move_a(__position.base(), __old_finish,
this->_M_impl._M_finish,
_M_get_Tp_allocator());
this->_M_impl._M_finish += __elems_after;
std::fill(__position.base(), __old_finish, __x_copy);
}
}
else
{
const size_type __len =
_M_check_len(__n, "vector::_M_fill_insert");
const size_type __elems_before = __position - begin();
pointer __new_start(this->_M_allocate(__len));
pointer __new_finish(__new_start);
try
{
std::__uninitialized_fill_n_a(__new_start + __elems_before,
__n, __x,
_M_get_Tp_allocator());
__new_finish = 0;
__new_finish
= std::__uninitialized_move_if_noexcept_a
(this->_M_impl._M_start, __position.base(),
__new_start, _M_get_Tp_allocator());
__new_finish += __n;
__new_finish
= std::__uninitialized_move_if_noexcept_a
(__position.base(), this->_M_impl._M_finish,
__new_finish, _M_get_Tp_allocator());
}
catch(...)
{
if (!__new_finish)
std::_Destroy(__new_start + __elems_before,
__new_start + __elems_before + __n,
_M_get_Tp_allocator());
else
std::_Destroy(__new_start, __new_finish,
_M_get_Tp_allocator());
_M_deallocate(__new_start, __len);
throw;
}
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator());
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = __new_start;
this->_M_impl._M_finish = __new_finish;
this->_M_impl._M_end_of_storage = __new_start + __len;
}
}
}
template<typename _Tp, typename _Alloc>
void
vector<_Tp, _Alloc>::
_M_default_append(size_type __n)
{
if (__n != 0)
{
if (size_type(this->_M_impl._M_end_of_storage
- this->_M_impl._M_finish) >= __n)
{
std::__uninitialized_default_n_a(this->_M_impl._M_finish,
__n, _M_get_Tp_allocator());
this->_M_impl._M_finish += __n;
}
else
{
const size_type __len =
_M_check_len(__n, "vector::_M_default_append");
const size_type __old_size = this->size();
pointer __new_start(this->_M_allocate(__len));
pointer __new_finish(__new_start);
try
{
__new_finish
= std::__uninitialized_move_if_noexcept_a
(this->_M_impl._M_start, this->_M_impl._M_finish,
__new_start, _M_get_Tp_allocator());
std::__uninitialized_default_n_a(__new_finish, __n,
_M_get_Tp_allocator());
__new_finish += __n;
}
catch(...)
{
std::_Destroy(__new_start, __new_finish,
_M_get_Tp_allocator());
_M_deallocate(__new_start, __len);
throw;
}
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator());
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = __new_start;
this->_M_impl._M_finish = __new_finish;
this->_M_impl._M_end_of_storage = __new_start + __len;
}
}
}
template<typename _Tp, typename _Alloc>
bool
vector<_Tp, _Alloc>::
_M_shrink_to_fit()
{
if (capacity() == size())
return false;
return std::__shrink_to_fit_aux<vector>::_S_do_it(*this);
}
template<typename _Tp, typename _Alloc>
template<typename _InputIterator>
void
vector<_Tp, _Alloc>::
_M_range_insert(iterator __pos, _InputIterator __first,
_InputIterator __last, std::input_iterator_tag)
{
for (; __first != __last; ++__first)
{
__pos = insert(__pos, *__first);
++__pos;
}
}
template<typename _Tp, typename _Alloc>
template<typename _ForwardIterator>
void
vector<_Tp, _Alloc>::
_M_range_insert(iterator __position, _ForwardIterator __first,
_ForwardIterator __last, std::forward_iterator_tag)
{
if (__first != __last)
{
const size_type __n = std::distance(__first, __last);
if (size_type(this->_M_impl._M_end_of_storage
- this->_M_impl._M_finish) >= __n)
{
const size_type __elems_after = end() - __position;
pointer __old_finish(this->_M_impl._M_finish);
if (__elems_after > __n)
{
std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
this->_M_impl._M_finish,
this->_M_impl._M_finish,
_M_get_Tp_allocator());
this->_M_impl._M_finish += __n;
std::move_backward(__position.base(), __old_finish - __n, __old_finish)
;
std::copy(__first, __last, __position);
}
else
{
_ForwardIterator __mid = __first;
std::advance(__mid, __elems_after);
std::__uninitialized_copy_a(__mid, __last,
this->_M_impl._M_finish,
_M_get_Tp_allocator());
this->_M_impl._M_finish += __n - __elems_after;
std::__uninitialized_move_a(__position.base(),
__old_finish,
this->_M_impl._M_finish,
_M_get_Tp_allocator());
this->_M_impl._M_finish += __elems_after;
std::copy(__first, __mid, __position);
}
}
else
{
const size_type __len =
_M_check_len(__n, "vector::_M_range_insert");
pointer __new_start(this->_M_allocate(__len));
pointer __new_finish(__new_start);
try
{
__new_finish
= std::__uninitialized_move_if_noexcept_a
(this->_M_impl._M_start, __position.base(),
__new_start, _M_get_Tp_allocator());
__new_finish
= std::__uninitialized_copy_a(__first, __last,
__new_finish,
_M_get_Tp_allocator());
__new_finish
= std::__uninitialized_move_if_noexcept_a
(__position.base(), this->_M_impl._M_finish,
__new_finish, _M_get_Tp_allocator());
}
catch(...)
{
std::_Destroy(__new_start, __new_finish,
_M_get_Tp_allocator());
_M_deallocate(__new_start, __len);
throw;
}
std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
_M_get_Tp_allocator());
_M_deallocate(this->_M_impl._M_start,
this->_M_impl._M_end_of_storage
- this->_M_impl._M_start);
this->_M_impl._M_start = __new_start;
this->_M_impl._M_finish = __new_finish;
this->_M_impl._M_end_of_storage = __new_start + __len;
}
}
}
template<typename _Alloc>
void
vector<bool, _Alloc>::
_M_reallocate(size_type __n)
{
_Bit_type* __q = this->_M_allocate(__n);
this->_M_impl._M_finish = _M_copy_aligned(begin(), end(),
iterator(__q, 0));
this->_M_deallocate();
this->_M_impl._M_start = iterator(__q, 0);
this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
}
template<typename _Alloc>
void
vector<bool, _Alloc>::
_M_fill_insert(iterator __position, size_type __n, bool __x)
{
if (__n == 0)
return;
if (capacity() - size() >= __n)
{
std::copy_backward(__position, end(),
this->_M_impl._M_finish + difference_type(__n));
std::fill(__position, __position + difference_type(__n), __x);
this->_M_impl._M_finish += difference_type(__n);
}
else
{
const size_type __len =
_M_check_len(__n, "vector<bool>::_M_fill_insert");
_Bit_type * __q = this->_M_allocate(__len);
iterator __i = _M_copy_aligned(begin(), __position,
iterator(__q, 0));
std::fill(__i, __i + difference_type(__n), __x);
this->_M_impl._M_finish = std::copy(__position, end(),
__i + difference_type(__n));
this->_M_deallocate();
this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
this->_M_impl._M_start = iterator(__q, 0);
}
}
template<typename _Alloc>
template<typename _ForwardIterator>
void
vector<bool, _Alloc>::
_M_insert_range(iterator __position, _ForwardIterator __first,
_ForwardIterator __last, std::forward_iterator_tag)
{
if (__first != __last)
{
size_type __n = std::distance(__first, __last);
if (capacity() - size() >= __n)
{
std::copy_backward(__position, end(),
this->_M_impl._M_finish
+ difference_type(__n));
std::copy(__first, __last, __position);
this->_M_impl._M_finish += difference_type(__n);
}
else
{
const size_type __len =
_M_check_len(__n, "vector<bool>::_M_insert_range");
_Bit_type * __q = this->_M_allocate(__len);
iterator __i = _M_copy_aligned(begin(), __position,
iterator(__q, 0));
__i = std::copy(__first, __last, __i);
this->_M_impl._M_finish = std::copy(__position, end(), __i);
this->_M_deallocate();
this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
this->_M_impl._M_start = iterator(__q, 0);
}
}
}
template<typename _Alloc>
void
vector<bool, _Alloc>::
_M_insert_aux(iterator __position, bool __x)
{
if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage)
{
std::copy_backward(__position, this->_M_impl._M_finish,
this->_M_impl._M_finish + 1);
*__position = __x;
++this->_M_impl._M_finish;
}
else
{
const size_type __len =
_M_check_len(size_type(1), "vector<bool>::_M_insert_aux");
_Bit_type * __q = this->_M_allocate(__len);
iterator __i = _M_copy_aligned(begin(), __position,
iterator(__q, 0));
*__i++ = __x;
this->_M_impl._M_finish = std::copy(__position, end(), __i);
this->_M_deallocate();
this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
this->_M_impl._M_start = iterator(__q, 0);
}
}
template<typename _Alloc>
bool
vector<bool, _Alloc>::
_M_shrink_to_fit()
{
if (capacity() - size() < int(_S_word_bit))
return false;
try
{
_M_reallocate(size());
return true;
}
catch(...)
{ return false; }
}
}
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _Alloc>
size_t
hash<std::vector<bool, _Alloc>>::
operator()(const std::vector<bool, _Alloc>& __b) const noexcept
{
size_t __hash = 0;
using std::_S_word_bit;
using std::_Bit_type;
const size_t __words = __b.size() / _S_word_bit;
if (__words)
{
const size_t __clength = __words * sizeof(_Bit_type);
__hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength);
}
const size_t __extrabits = __b.size() % _S_word_bit;
if (__extrabits)
{
_Bit_type __hiword = *__b._M_impl._M_finish._M_p;
__hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits);
const size_t __clength
= (__extrabits + 8 - 1) / 8;
if (__words)
__hash = std::_Hash_impl::hash(&__hiword, __clength, __hash);
else
__hash = std::_Hash_impl::hash(&__hiword, __clength);
}
return __hash;
}
}
# 71 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/vector" 2 3
# 9 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-module.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-module.h" 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/util/c99defs.h" 1 3 4
# 17 "/home/btbn/Projekte/obs-studio/libobs/util/c99defs.h" 3 4
# 72 "/home/btbn/Projekte/obs-studio/libobs/util/c99defs.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stdbool.h" 1 3 4
# 73 "/home/btbn/Projekte/obs-studio/libobs/util/c99defs.h" 2 3 4
# 21 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/util/bmem.h" 1 3 4
# 17 "/home/btbn/Projekte/obs-studio/libobs/util/bmem.h" 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/util/base.h" 1 3 4
# 17 "/home/btbn/Projekte/obs-studio/libobs/util/base.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stdarg.h" 1 3 4
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 102 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stdarg.h" 3 4
typedef __gnuc_va_list va_list;
# 20 "/home/btbn/Projekte/obs-studio/libobs/util/base.h" 2 3 4
# 28 "/home/btbn/Projekte/obs-studio/libobs/util/base.h" 3 4
extern "C" {
enum {
LOG_ERROR = 100,
# 48 "/home/btbn/Projekte/obs-studio/libobs/util/base.h" 3 4
LOG_WARNING = 200,
LOG_INFO = 300,
LOG_DEBUG = 400
};
void base_set_log_handler(
void (*handler)(int log_level, const char *, va_list));
void base_set_crash_handler(void (*handler)(const char *, va_list));
void blogva(int log_level, const char *format, va_list args);
__attribute__((__format__(__printf__, 2, 3)))
void blog(int log_level, const char *format, ...);
__attribute__((__format__(__printf__, 1, 2)))
void bcrash(const char *format, ...);
}
# 21 "/home/btbn/Projekte/obs-studio/libobs/util/bmem.h" 2 3 4
# 1 "/usr/include/wchar.h" 1 3 4
# 36 "/usr/include/wchar.h" 3 4
# 1 "/usr/include/stdio.h" 1 3 4
# 44 "/usr/include/stdio.h" 3 4
struct _IO_FILE;
typedef struct _IO_FILE FILE;
# 64 "/usr/include/stdio.h" 3 4
typedef struct _IO_FILE __FILE;
# 37 "/usr/include/wchar.h" 2 3 4
# 51 "/usr/include/wchar.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 354 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 3 4
typedef unsigned int wint_t;
# 52 "/usr/include/wchar.h" 2 3 4
# 82 "/usr/include/wchar.h" 3 4
typedef struct
{
int __count;
union
{
unsigned int __wch;
char __wchb[4];
} __value;
} __mbstate_t;
# 104 "/usr/include/wchar.h" 3 4
typedef __mbstate_t mbstate_t;
# 132 "/usr/include/wchar.h" 3 4
extern "C" {
struct tm;
extern wchar_t *wcscpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) throw ();
extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
throw ();
extern wchar_t *wcscat (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) throw ();
extern wchar_t *wcsncat (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
throw ();
extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
throw () __attribute__ ((__pure__));
extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
throw () __attribute__ ((__pure__));
extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) throw ();
extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
size_t __n) throw ();
extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
__locale_t __loc) throw ();
extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
size_t __n, __locale_t __loc) throw ();
extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) throw ();
extern size_t wcsxfrm (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n) throw ();
extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
__locale_t __loc) throw ();
extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
size_t __n, __locale_t __loc) throw ();
extern wchar_t *wcsdup (const wchar_t *__s) throw () __attribute__ ((__malloc__));
extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
throw () __asm ("wcschr") __attribute__ ((__pure__));
extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
throw () __asm ("wcschr") __attribute__ ((__pure__));
extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
throw () __asm ("wcsrchr") __attribute__ ((__pure__));
extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
throw () __asm ("wcsrchr") __attribute__ ((__pure__));
extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
throw () __attribute__ ((__pure__));
extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
throw () __attribute__ ((__pure__));
extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
throw () __attribute__ ((__pure__));
extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
throw () __asm ("wcspbrk") __attribute__ ((__pure__));
extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
const wchar_t *__accept)
throw () __asm ("wcspbrk") __attribute__ ((__pure__));
extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
throw () __asm ("wcsstr") __attribute__ ((__pure__));
extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
const wchar_t *__needle)
throw () __asm ("wcsstr") __attribute__ ((__pure__));
extern wchar_t *wcstok (wchar_t *__restrict __s,
const wchar_t *__restrict __delim,
wchar_t **__restrict __ptr) throw ();
extern size_t wcslen (const wchar_t *__s) throw () __attribute__ ((__pure__));
extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
throw () __asm ("wcswcs") __attribute__ ((__pure__));
extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
const wchar_t *__needle)
throw () __asm ("wcswcs") __attribute__ ((__pure__));
# 306 "/usr/include/wchar.h" 3 4
extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
throw () __attribute__ ((__pure__));
extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
throw () __asm ("wmemchr") __attribute__ ((__pure__));
extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
size_t __n)
throw () __asm ("wmemchr") __attribute__ ((__pure__));
extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
throw () __attribute__ ((__pure__));
extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n) throw ();
extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
throw ();
extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw ();
extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n)
throw ();
extern wint_t btowc (int __c) throw ();
extern int wctob (wint_t __c) throw ();
extern int mbsinit (const mbstate_t *__ps) throw () __attribute__ ((__pure__));
extern size_t mbrtowc (wchar_t *__restrict __pwc,
const char *__restrict __s, size_t __n,
mbstate_t *__restrict __p) throw ();
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
mbstate_t *__restrict __ps) throw ();
extern size_t __mbrlen (const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) throw ();
extern size_t mbrlen (const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) throw ();
# 405 "/usr/include/wchar.h" 3 4
extern size_t mbsrtowcs (wchar_t *__restrict __dst,
const char **__restrict __src, size_t __len,
mbstate_t *__restrict __ps) throw ();
extern size_t wcsrtombs (char *__restrict __dst,
const wchar_t **__restrict __src, size_t __len,
mbstate_t *__restrict __ps) throw ();
extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
const char **__restrict __src, size_t __nmc,
size_t __len, mbstate_t *__restrict __ps) throw ();
extern size_t wcsnrtombs (char *__restrict __dst,
const wchar_t **__restrict __src,
size_t __nwc, size_t __len,
mbstate_t *__restrict __ps) throw ();
extern int wcwidth (wchar_t __c) throw ();
extern int wcswidth (const wchar_t *__s, size_t __n) throw ();
extern double wcstod (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ();
extern float wcstof (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ();
extern long double wcstold (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ();
extern long int wcstol (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base) throw ();
extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
throw ();
__extension__
extern long long int wcstoll (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
throw ();
__extension__
extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) throw ();
__extension__
extern long long int wcstoq (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
throw ();
__extension__
extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) throw ();
# 530 "/usr/include/wchar.h" 3 4
extern long int wcstol_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base,
__locale_t __loc) throw ();
extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) throw ();
__extension__
extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) throw ();
__extension__
extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc)
throw ();
extern double wcstod_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
throw ();
extern float wcstof_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
throw ();
extern long double wcstold_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
__locale_t __loc) throw ();
extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) throw ();
extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
throw ();
extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw ();
extern int fwide (__FILE *__fp, int __mode) throw ();
extern int fwprintf (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...)
;
extern int wprintf (const wchar_t *__restrict __format, ...)
;
extern int swprintf (wchar_t *__restrict __s, size_t __n,
const wchar_t *__restrict __format, ...)
throw () ;
extern int vfwprintf (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
;
extern int vwprintf (const wchar_t *__restrict __format,
__gnuc_va_list __arg)
;
extern int vswprintf (wchar_t *__restrict __s, size_t __n,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
throw () ;
extern int fwscanf (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...)
;
extern int wscanf (const wchar_t *__restrict __format, ...)
;
extern int swscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format, ...)
throw () ;
# 680 "/usr/include/wchar.h" 3 4
extern int vfwscanf (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
;
extern int vwscanf (const wchar_t *__restrict __format,
__gnuc_va_list __arg)
;
extern int vswscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
throw () ;
# 736 "/usr/include/wchar.h" 3 4
extern wint_t fgetwc (__FILE *__stream);
extern wint_t getwc (__FILE *__stream);
extern wint_t getwchar (void);
extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
extern wint_t putwc (wchar_t __wc, __FILE *__stream);
extern wint_t putwchar (wchar_t __wc);
extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
__FILE *__restrict __stream);
extern int fputws (const wchar_t *__restrict __ws,
__FILE *__restrict __stream);
extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
# 801 "/usr/include/wchar.h" 3 4
extern wint_t getwc_unlocked (__FILE *__stream);
extern wint_t getwchar_unlocked (void);
extern wint_t fgetwc_unlocked (__FILE *__stream);
extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
# 827 "/usr/include/wchar.h" 3 4
extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
extern wint_t putwchar_unlocked (wchar_t __wc);
# 837 "/usr/include/wchar.h" 3 4
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
__FILE *__restrict __stream);
extern int fputws_unlocked (const wchar_t *__restrict __ws,
__FILE *__restrict __stream);
extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
const wchar_t *__restrict __format,
const struct tm *__restrict __tp) throw ();
extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
const wchar_t *__restrict __format,
const struct tm *__restrict __tp,
__locale_t __loc) throw ();
# 891 "/usr/include/wchar.h" 3 4
}
# 22 "/home/btbn/Projekte/obs-studio/libobs/util/bmem.h" 2 3 4
# 1 "/usr/include/string.h" 1 3 4
# 27 "/usr/include/string.h" 3 4
extern "C" {
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 33 "/usr/include/string.h" 2 3 4
extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
size_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
extern void *memmove (void *__dest, const void *__src, size_t __n)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
int __c, size_t __n)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
extern int memcmp (const void *__s1, const void *__s2, size_t __n)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern "C++"
{
extern void *memchr (void *__s, int __c, size_t __n)
throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern const void *memchr (const void *__s, int __c, size_t __n)
throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 90 "/usr/include/string.h" 3 4
}
extern "C++" void *rawmemchr (void *__s, int __c)
throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern "C++" const void *rawmemchr (const void *__s, int __c)
throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern "C++" void *memrchr (void *__s, int __c, size_t __n)
throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern char *strncpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern char *strcat (char *__restrict __dest, const char *__restrict __src)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern char *strncat (char *__restrict __dest, const char *__restrict __src,
size_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int strcmp (const char *__s1, const char *__s2)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern int strncmp (const char *__s1, const char *__s2, size_t __n)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern int strcoll (const char *__s1, const char *__s2)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern size_t strxfrm (char *__restrict __dest,
const char *__restrict __src, size_t __n)
throw () __attribute__ ((__nonnull__ (2)));
# 162 "/usr/include/string.h" 3 4
extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
__locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4)));
extern char *strdup (const char *__s)
throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
extern char *strndup (const char *__string, size_t __n)
throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
# 207 "/usr/include/string.h" 3 4
extern "C++"
{
extern char *strchr (char *__s, int __c)
throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern const char *strchr (const char *__s, int __c)
throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 230 "/usr/include/string.h" 3 4
}
extern "C++"
{
extern char *strrchr (char *__s, int __c)
throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern const char *strrchr (const char *__s, int __c)
throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 257 "/usr/include/string.h" 3 4
}
extern "C++" char *strchrnul (char *__s, int __c)
throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern "C++" const char *strchrnul (const char *__s, int __c)
throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern size_t strcspn (const char *__s, const char *__reject)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern size_t strspn (const char *__s, const char *__accept)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern "C++"
{
extern char *strpbrk (char *__s, const char *__accept)
throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern const char *strpbrk (const char *__s, const char *__accept)
throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
# 309 "/usr/include/string.h" 3 4
}
extern "C++"
{
extern char *strstr (char *__haystack, const char *__needle)
throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern const char *strstr (const char *__haystack, const char *__needle)
throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
# 336 "/usr/include/string.h" 3 4
}
extern char *strtok (char *__restrict __s, const char *__restrict __delim)
throw () __attribute__ ((__nonnull__ (2)));
extern char *__strtok_r (char *__restrict __s,
const char *__restrict __delim,
char **__restrict __save_ptr)
throw () __attribute__ ((__nonnull__ (2, 3)));
extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
char **__restrict __save_ptr)
throw () __attribute__ ((__nonnull__ (2, 3)));
extern "C++" char *strcasestr (char *__haystack, const char *__needle)
throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern "C++" const char *strcasestr (const char *__haystack,
const char *__needle)
throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
# 378 "/usr/include/string.h" 3 4
extern void *memmem (const void *__haystack, size_t __haystacklen,
const void *__needle, size_t __needlelen)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));
extern void *__mempcpy (void *__restrict __dest,
const void *__restrict __src, size_t __n)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern void *mempcpy (void *__restrict __dest,
const void *__restrict __src, size_t __n)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern size_t strlen (const char *__s)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern size_t strnlen (const char *__string, size_t __maxlen)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern char *strerror (int __errnum) throw ();
# 434 "/usr/include/string.h" 3 4
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
throw () __attribute__ ((__nonnull__ (2))) ;
extern char *strerror_l (int __errnum, __locale_t __l) throw ();
extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
extern void bcopy (const void *__src, void *__dest, size_t __n)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
extern int bcmp (const void *__s1, const void *__s2, size_t __n)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern "C++"
{
extern char *index (char *__s, int __c)
throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern const char *index (const char *__s, int __c)
throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 483 "/usr/include/string.h" 3 4
}
extern "C++"
{
extern char *rindex (char *__s, int __c)
throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
extern const char *rindex (const char *__s, int __c)
throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
# 511 "/usr/include/string.h" 3 4
}
extern int ffs (int __i) throw () __attribute__ ((__const__));
extern int ffsl (long int __l) throw () __attribute__ ((__const__));
__extension__ extern int ffsll (long long int __ll)
throw () __attribute__ ((__const__));
extern int strcasecmp (const char *__s1, const char *__s2)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern int strcasecmp_l (const char *__s1, const char *__s2,
__locale_t __loc)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
extern int strncasecmp_l (const char *__s1, const char *__s2,
size_t __n, __locale_t __loc)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
extern char *strsep (char **__restrict __stringp,
const char *__restrict __delim)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern char *strsignal (int __sig) throw ();
extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern char *__stpncpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern char *stpncpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int strverscmp (const char *__s1, const char *__s2)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1)));
extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
extern "C++" char *basename (char *__filename)
throw () __asm ("basename") __attribute__ ((__nonnull__ (1)));
extern "C++" const char *basename (const char *__filename)
throw () __asm ("basename") __attribute__ ((__nonnull__ (1)));
# 642 "/usr/include/string.h" 3 4
}
# 23 "/home/btbn/Projekte/obs-studio/libobs/util/bmem.h" 2 3 4
extern "C" {
struct base_allocator {
void *(*malloc)(size_t);
void *(*realloc)(void *, size_t);
void (*free)(void *);
};
void base_set_allocator(struct base_allocator *defs);
void *bmalloc(size_t size);
void *brealloc(void *ptr, size_t size);
void bfree(void *ptr);
int base_get_alignment(void);
long bnum_allocs(void);
void *bmemdup(const void *ptr, size_t size);
static inline void *bzalloc(size_t size)
{
void *mem = bmalloc(size);
if (mem)
memset(mem, 0, size);
return mem;
}
static inline char *bstrdup_n(const char *str, size_t n)
{
char *dup;
if (!str || !*str)
return __null;
dup = (char*)bmemdup(str, n+1);
dup[n] = 0;
return dup;
}
static inline wchar_t *bwstrdup_n(const wchar_t *str, size_t n)
{
wchar_t *dup;
if (!str || (!*str && n > 0))
return __null;
dup = (wchar_t*)bmemdup(str, (n+1) * sizeof(wchar_t));
dup[n] = 0;
return dup;
}
static inline char *bstrdup(const char *str)
{
if (!str)
return __null;
return bstrdup_n(str, strlen(str));
}
static inline wchar_t *bwstrdup(const wchar_t *str)
{
if (!str)
return __null;
return bwstrdup_n(str, wcslen(str));
}
}
# 22 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/graphics/graphics.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/graphics/graphics.h" 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/graphics/input.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/graphics/input.h" 3 4
extern "C" {
# 145 "/home/btbn/Projekte/obs-studio/libobs/graphics/input.h" 3 4
struct input_subsystem;
typedef struct input_subsystem* input_t;
int input_getbuttonstate(input_t input, uint32_t button);
}
# 22 "/home/btbn/Projekte/obs-studio/libobs/graphics/graphics.h" 2 3 4
# 34 "/home/btbn/Projekte/obs-studio/libobs/graphics/graphics.h" 3 4
extern "C" {
struct vec2;
struct vec3;
struct vec4;
struct quat;
struct axisang;
struct plane;
struct matrix3;
struct matrix4;
enum gs_draw_mode {
GS_POINTS,
GS_LINES,
GS_LINESTRIP,
GS_TRIS,
GS_TRISTRIP
};
enum gs_color_format {
GS_UNKNOWN,
GS_A8,
GS_R8,
GS_RGBA,
GS_BGRX,
GS_BGRA,
GS_R10G10B10A2,
GS_RGBA16,
GS_R16,
GS_RGBA16F,
GS_RGBA32F,
GS_RG16F,
GS_RG32F,
GS_R16F,
GS_R32F,
GS_DXT1,
GS_DXT3,
GS_DXT5
};
enum gs_zstencil_format {
GS_ZS_NONE,
GS_Z16,
GS_Z24_S8,
GS_Z32F,
GS_Z32F_S8X24
};
enum gs_index_type {
GS_UNSIGNED_SHORT,
GS_UNSIGNED_LONG
};
enum gs_cull_mode {
GS_BACK,
GS_FRONT,
GS_NEITHER
};
enum gs_blend_type {
GS_BLEND_ZERO,
GS_BLEND_ONE,
GS_BLEND_SRCCOLOR,
GS_BLEND_INVSRCCOLOR,
GS_BLEND_SRCALPHA,
GS_BLEND_INVSRCALPHA,
GS_BLEND_DSTCOLOR,
GS_BLEND_INVDSTCOLOR,
GS_BLEND_DSTALPHA,
GS_BLEND_INVDSTALPHA,
GS_BLEND_SRCALPHASAT
};
enum gs_depth_test {
GS_NEVER,
GS_LESS,
GS_LEQUAL,
GS_EQUAL,
GS_GEQUAL,
GS_GREATER,
GS_NOTEQUAL,
GS_ALWAYS
};
enum gs_stencil_side {
GS_STENCIL_FRONT=1,
GS_STENCIL_BACK,
GS_STENCIL_BOTH
};
enum gs_stencil_op {
GS_KEEP,
GS_ZERO,
GS_REPLACE,
GS_INCR,
GS_DECR,
GS_INVERT
};
enum gs_cube_sides {
GS_POSITIVE_X,
GS_NEGATIVE_X,
GS_POSITIVE_Y,
GS_NEGATIVE_Y,
GS_POSITIVE_Z,
GS_NEGATIVE_Z
};
enum gs_sample_filter {
GS_FILTER_POINT,
GS_FILTER_LINEAR,
GS_FILTER_ANISOTROPIC,
GS_FILTER_MIN_MAG_POINT_MIP_LINEAR,
GS_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT,
GS_FILTER_MIN_POINT_MAG_MIP_LINEAR,
GS_FILTER_MIN_LINEAR_MAG_MIP_POINT,
GS_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR,
GS_FILTER_MIN_MAG_LINEAR_MIP_POINT,
};
enum gs_address_mode {
GS_ADDRESS_CLAMP,
GS_ADDRESS_WRAP,
GS_ADDRESS_MIRROR,
GS_ADDRESS_BORDER,
GS_ADDRESS_MIRRORONCE
};
enum gs_texture_type {
GS_TEXTURE_2D,
GS_TEXTURE_3D,
GS_TEXTURE_CUBE
};
struct tvertarray {
size_t width;
void *array;
};
struct vb_data {
size_t num;
struct vec3 *points;
struct vec3 *normals;
struct vec3 *tangents;
uint32_t *colors;
size_t num_tex;
struct tvertarray *tvarray;
};
static inline struct vb_data *vbdata_create(void)
{
return (struct vb_data*)bzalloc(sizeof(struct vb_data));
}
static inline void vbdata_destroy(struct vb_data *data)
{
uint32_t i;
if (!data)
return;
bfree(data->points);
bfree(data->normals);
bfree(data->tangents);
bfree(data->colors);
for (i = 0; i < data->num_tex; i++)
bfree(data->tvarray[i].array);
bfree(data->tvarray);
bfree(data);
}
struct gs_sampler_info {
enum gs_sample_filter filter;
enum gs_address_mode address_u;
enum gs_address_mode address_v;
enum gs_address_mode address_w;
int max_anisotropy;
uint32_t border_color;
};
struct gs_display_mode {
uint32_t width;
uint32_t height;
uint32_t bits;
uint32_t freq;
};
struct gs_rect {
int x;
int y;
int cx;
int cy;
};
struct gs_texture;
struct gs_stage_surface;
struct gs_zstencil_buffer;
struct gs_vertex_buffer;
struct gs_index_buffer;
struct gs_sampler_state;
struct gs_shader;
struct gs_swap_chain;
struct gs_texrender;
struct shader_param;
struct gs_effect;
struct effect_technique;
struct effect_pass;
struct effect_param;
struct gs_device;
struct graphics_subsystem;
typedef struct gs_texture *texture_t;
typedef struct gs_stage_surface *stagesurf_t;
typedef struct gs_zstencil_buffer *zstencil_t;
typedef struct gs_vertex_buffer *vertbuffer_t;
typedef struct gs_index_buffer *indexbuffer_t;
typedef struct gs_sampler_state *samplerstate_t;
typedef struct gs_swap_chain *swapchain_t;
typedef struct gs_texture_render *texrender_t;
typedef struct gs_shader *shader_t;
typedef struct shader_param *sparam_t;
typedef struct gs_effect *effect_t;
typedef struct effect_technique *technique_t;
typedef struct effect_param *eparam_t;
typedef struct gs_device *device_t;
typedef struct graphics_subsystem *graphics_t;
enum shader_param_type {
SHADER_PARAM_UNKNOWN,
SHADER_PARAM_BOOL,
SHADER_PARAM_FLOAT,
SHADER_PARAM_INT,
SHADER_PARAM_STRING,
SHADER_PARAM_VEC2,
SHADER_PARAM_VEC3,
SHADER_PARAM_VEC4,
SHADER_PARAM_MATRIX4X4,
SHADER_PARAM_TEXTURE,
};
struct shader_param_info {
enum shader_param_type type;
const char *name;
};
enum shader_type {
SHADER_VERTEX,
SHADER_PIXEL,
};
void shader_destroy(shader_t shader);
int shader_numparams(shader_t shader);
sparam_t shader_getparambyidx(shader_t shader, uint32_t param);
sparam_t shader_getparambyname(shader_t shader, const char *name);
void shader_getparaminfo(shader_t shader, sparam_t param,
struct shader_param_info *info);
sparam_t shader_getviewprojmatrix(shader_t shader);
sparam_t shader_getworldmatrix(shader_t shader);
void shader_setbool(shader_t shader, sparam_t param, bool val);
void shader_setfloat(shader_t shader, sparam_t param, float val);
void shader_setint(shader_t shader, sparam_t param, int val);
void shader_setmatrix3(shader_t shader, sparam_t param,
const struct matrix3 *val);
void shader_setmatrix4(shader_t shader, sparam_t param,
const struct matrix4 *val);
void shader_setvec2(shader_t shader, sparam_t param,
const struct vec2 *val);
void shader_setvec3(shader_t shader, sparam_t param,
const struct vec3 *val);
void shader_setvec4(shader_t shader, sparam_t param,
const struct vec4 *val);
void shader_settexture(shader_t shader, sparam_t param, texture_t val);
void shader_setval(shader_t shader, sparam_t param, const void *val,
size_t size);
void shader_setdefault(shader_t shader, sparam_t param);
# 334 "/home/btbn/Projekte/obs-studio/libobs/graphics/graphics.h" 3 4
struct effect_param_info {
const char *name;
enum shader_param_type type;
};
void effect_destroy(effect_t effect);
technique_t effect_gettechnique(effect_t effect, const char *name);
size_t technique_begin(technique_t technique);
void technique_end(technique_t technique);
bool technique_beginpass(technique_t technique, size_t pass);
bool technique_beginpassbyname(technique_t technique,
const char *name);
void technique_endpass(technique_t technique);
size_t effect_numparams(effect_t effect);
eparam_t effect_getparambyidx(effect_t effect, size_t param);
eparam_t effect_getparambyname(effect_t effect, const char *name);
void effect_getparaminfo(effect_t effect, eparam_t param,
struct effect_param_info *info);
void effect_updateparams(effect_t effect);
eparam_t effect_getviewprojmatrix(effect_t effect);
eparam_t effect_getworldmatrix(effect_t effect);
void effect_setbool(effect_t effect, eparam_t param, bool val);
void effect_setfloat(effect_t effect, eparam_t param, float val);
void effect_setint(effect_t effect, eparam_t param, int val);
void effect_setmatrix4(effect_t effect, eparam_t param,
const struct matrix4 *val);
void effect_setvec2(effect_t effect, eparam_t param,
const struct vec2 *val);
void effect_setvec3(effect_t effect, eparam_t param,
const struct vec3 *val);
void effect_setvec4(effect_t effect, eparam_t param,
const struct vec4 *val);
void effect_settexture(effect_t effect, eparam_t param, texture_t val);
void effect_setval(effect_t effect, eparam_t param, const void *val,
size_t size);
void effect_setdefault(effect_t effect, eparam_t param);
texrender_t texrender_create(enum gs_color_format format,
enum gs_zstencil_format zsformat);
void texrender_destroy(texrender_t texrender);
bool texrender_begin(texrender_t texrender, uint32_t cx, uint32_t cy);
void texrender_end(texrender_t texrender);
void texrender_reset(texrender_t texrender);
texture_t texrender_gettexture(texrender_t texrender);
# 411 "/home/btbn/Projekte/obs-studio/libobs/graphics/graphics.h" 3 4
struct gs_window {
uint32_t id;
void* display;
};
struct gs_init_data {
struct gs_window window;
uint32_t cx, cy;
uint32_t num_backbuffers;
enum gs_color_format format;
enum gs_zstencil_format zsformat;
uint32_t adapter;
};
int gs_create(graphics_t *graphics, const char *module,
struct gs_init_data *data);
void gs_destroy(graphics_t graphics);
void gs_entercontext(graphics_t graphics);
void gs_leavecontext(void);
graphics_t gs_getcontext(void);
void gs_matrix_push(void);
void gs_matrix_pop(void);
void gs_matrix_identity(void);
void gs_matrix_transpose(void);
void gs_matrix_set(const struct matrix3 *matrix);
void gs_matrix_get(struct matrix3 *dst);
void gs_matrix_mul(const struct matrix3 *matrix);
void gs_matrix_rotquat(const struct quat *rot);
void gs_matrix_rotaa(const struct axisang *rot);
void gs_matrix_translate(const struct vec3 *pos);
void gs_matrix_scale(const struct vec3 *scale);
void gs_matrix_rotaa4f(float x, float y, float z, float angle);
void gs_matrix_translate3f(float x, float y, float z);
void gs_matrix_scale3f(float x, float y, float z);
void gs_renderstart(bool b_new);
void gs_renderstop(enum gs_draw_mode mode);
vertbuffer_t gs_rendersave(void);
void gs_vertex2f(float x, float y);
void gs_vertex3f(float x, float y, float z);
void gs_normal3f(float x, float y, float z);
void gs_color(uint32_t color);
void gs_texcoord(float x, float y, int unit);
void gs_vertex2v(const struct vec2 *v);
void gs_vertex3v(const struct vec3 *v);
void gs_normal3v(const struct vec3 *v);
void gs_color4v(const struct vec4 *v);
void gs_texcoord2v(const struct vec2 *v, int unit);
input_t gs_getinput(void);
effect_t gs_geteffect(void);
effect_t gs_create_effect_from_file(const char *file,
char **error_string);
effect_t gs_create_effect(const char *effect_string,
const char *filename, char **error_string);
shader_t gs_create_vertexshader_from_file(const char *file,
char **error_string);
shader_t gs_create_pixelshader_from_file(const char *file,
char **error_string);
texture_t gs_create_texture_from_file(const char *file,
uint32_t flags);
texture_t gs_create_cubetexture_from_file(const char *flie,
uint32_t flags);
texture_t gs_create_volumetexture_from_file(const char *flie,
uint32_t flags);
# 499 "/home/btbn/Projekte/obs-studio/libobs/graphics/graphics.h" 3 4
void gs_draw_sprite(texture_t tex, uint32_t flip, uint32_t width,
uint32_t height);
void gs_draw_cube_backdrop(texture_t cubetex, const struct quat *rot,
float left, float right, float top, float bottom, float znear);
void gs_resetviewport(void);
void gs_set2dmode(void);
void gs_set3dmode(double fovy, double znear, double zvar);
void gs_viewport_push(void);
void gs_viewport_pop(void);
void texture_setimage(texture_t tex, const void *data,
uint32_t linesize, bool invert);
void cubetexture_setimage(texture_t cubetex, uint32_t side,
const void *data, uint32_t linesize, bool invert);
void gs_perspective(float fovy, float aspect, float znear, float zfar);
swapchain_t gs_create_swapchain(struct gs_init_data *data);
void gs_resize(uint32_t x, uint32_t y);
void gs_getsize(uint32_t *x, uint32_t *y);
uint32_t gs_getwidth(void);
uint32_t gs_getheight(void);
texture_t gs_create_texture(uint32_t width, uint32_t height,
enum gs_color_format color_format, uint32_t levels,
const void **data, uint32_t flags);
texture_t gs_create_cubetexture(uint32_t size,
enum gs_color_format color_format, uint32_t levels,
const void **data, uint32_t flags);
texture_t gs_create_volumetexture(uint32_t width, uint32_t height,
uint32_t depth, enum gs_color_format color_format,
uint32_t levels, const void **data, uint32_t flags);
zstencil_t gs_create_zstencil(uint32_t width, uint32_t height,
enum gs_zstencil_format format);
stagesurf_t gs_create_stagesurface(uint32_t width, uint32_t height,
enum gs_color_format color_format);
samplerstate_t gs_create_samplerstate(struct gs_sampler_info *info);
shader_t gs_create_vertexshader(const char *shader,
const char *file, char **error_string);
shader_t gs_create_pixelshader(const char *shader,
const char *file, char **error_string);
vertbuffer_t gs_create_vertexbuffer(struct vb_data *data,
uint32_t flags);
indexbuffer_t gs_create_indexbuffer(enum gs_index_type type,
void *indices, size_t num, uint32_t flags);
enum gs_texture_type gs_gettexturetype(texture_t texture);
void gs_load_vertexbuffer(vertbuffer_t vertbuffer);
void gs_load_indexbuffer(indexbuffer_t indexbuffer);
void gs_load_texture(texture_t tex, int unit);
void gs_load_samplerstate(samplerstate_t samplerstate, int unit);
void gs_load_vertexshader(shader_t vertshader);
void gs_load_pixelshader(shader_t pixelshader);
void gs_load_defaultsamplerstate(bool b_3d, int unit);
shader_t gs_getvertexshader(void);
shader_t gs_getpixelshader(void);
texture_t gs_getrendertarget(void);
zstencil_t gs_getzstenciltarget(void);
void gs_setrendertarget(texture_t tex, zstencil_t zstencil);
void gs_setcuberendertarget(texture_t cubetex, int side,
zstencil_t zstencil);
void gs_copy_texture(texture_t dst, texture_t src);
void gs_copy_texture_region(
texture_t dst, uint32_t dst_x, uint32_t dst_y,
texture_t src, uint32_t src_x, uint32_t src_y,
uint32_t src_w, uint32_t src_h);
void gs_stage_texture(stagesurf_t dst, texture_t src);
void gs_beginscene(void);
void gs_draw(enum gs_draw_mode draw_mode, uint32_t start_vert,
uint32_t num_verts);
void gs_endscene(void);
void gs_load_swapchain(swapchain_t swapchain);
void gs_clear(uint32_t clear_flags, struct vec4 *color,
float depth, uint8_t stencil);
void gs_present(void);
void gs_setcullmode(enum gs_cull_mode mode);
enum gs_cull_mode gs_getcullmode(void);
void gs_enable_blending(bool enable);
void gs_enable_depthtest(bool enable);
void gs_enable_stenciltest(bool enable);
void gs_enable_stencilwrite(bool enable);
void gs_enable_color(bool red, bool green, bool blue, bool alpha);
void gs_blendfunction(enum gs_blend_type src, enum gs_blend_type dest);
void gs_depthfunction(enum gs_depth_test test);
void gs_stencilfunction(enum gs_stencil_side side,
enum gs_depth_test test);
void gs_stencilop(enum gs_stencil_side side, enum gs_stencil_op fail,
enum gs_stencil_op zfail, enum gs_stencil_op zpass);
void gs_setclip(struct plane *p);
void gs_enable_fullscreen(bool enable);
int gs_fullscreen_enabled(void);
void gs_setdisplaymode(const struct gs_display_mode *mode);
void gs_getdisplaymode(struct gs_display_mode *mode);
void gs_setcolorramp(float gamma, float brightness, float contrast);
void gs_setviewport(int x, int y, int width, int height);
void gs_getviewport(struct gs_rect *rect);
void gs_setscissorrect(struct gs_rect *rect);
void gs_ortho(float left, float right, float top, float bottom,
float znear, float zfar);
void gs_frustum(float left, float right, float top, float bottom,
float znear, float zfar);
void gs_projection_push(void);
void gs_projection_pop(void);
void swapchain_destroy(swapchain_t swapchain);
void texture_destroy(texture_t tex);
uint32_t texture_getwidth(texture_t tex);
uint32_t texture_getheight(texture_t tex);
enum gs_color_format texture_getcolorformat(texture_t tex);
bool texture_map(texture_t tex, void **ptr, uint32_t *linesize);
void texture_unmap(texture_t tex);
bool texture_isrect(texture_t tex);
void *texture_getobj(texture_t tex);
void cubetexture_destroy(texture_t cubetex);
uint32_t cubetexture_getsize(texture_t cubetex);
enum gs_color_format cubetexture_getcolorformat(texture_t cubetex);
void volumetexture_destroy(texture_t voltex);
uint32_t volumetexture_getwidth(texture_t voltex);
uint32_t volumetexture_getheight(texture_t voltex);
uint32_t volumetexture_getdepth(texture_t voltex);
enum gs_color_format volumetexture_getcolorformat(texture_t voltex);
void stagesurface_destroy(stagesurf_t stagesurf);
uint32_t stagesurface_getwidth(stagesurf_t stagesurf);
uint32_t stagesurface_getheight(stagesurf_t stagesurf);
enum gs_color_format stagesurface_getcolorformat(stagesurf_t stagesurf);
bool stagesurface_map(stagesurf_t stagesurf, uint8_t **data,
uint32_t *linesize);
void stagesurface_unmap(stagesurf_t stagesurf);
void zstencil_destroy(zstencil_t zstencil);
void samplerstate_destroy(samplerstate_t samplerstate);
void vertexbuffer_destroy(vertbuffer_t vertbuffer);
void vertexbuffer_flush(vertbuffer_t vertbuffer, bool rebuild);
struct vb_data *vertexbuffer_getdata(vertbuffer_t vertbuffer);
void indexbuffer_destroy(indexbuffer_t indexbuffer);
void indexbuffer_flush(indexbuffer_t indexbuffer);
void *indexbuffer_getdata(indexbuffer_t indexbuffer);
size_t indexbuffer_numindices(indexbuffer_t indexbuffer);
enum gs_index_type indexbuffer_gettype(indexbuffer_t indexbuffer);
# 711 "/home/btbn/Projekte/obs-studio/libobs/graphics/graphics.h" 3 4
static inline uint32_t gs_get_format_bpp(enum gs_color_format format)
{
switch (format) {
case GS_A8: return 8;
case GS_R8: return 8;
case GS_RGBA: return 32;
case GS_BGRX: return 32;
case GS_BGRA: return 32;
case GS_R10G10B10A2: return 32;
case GS_RGBA16: return 64;
case GS_R16: return 16;
case GS_RGBA16F: return 64;
case GS_RGBA32F: return 128;
case GS_RG16F: return 32;
case GS_RG32F: return 64;
case GS_R16F: return 16;
case GS_R32F: return 32;
case GS_DXT1: return 4;
case GS_DXT3: return 8;
case GS_DXT5: return 8;
case GS_UNKNOWN: return 0;
}
return 0;
}
static inline bool gs_is_compressed_format(enum gs_color_format format)
{
return (format == GS_DXT1 || format == GS_DXT3 || format == GS_DXT5);
}
static inline uint32_t gs_num_total_levels(uint32_t width, uint32_t height)
{
uint32_t size = width > height ? width : height;
uint32_t num_levels = 0;
while (size > 1) {
size /= 2;
num_levels++;
}
return num_levels;
}
}
# 23 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/graphics/vec2.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/graphics/vec2.h" 3 4
# 1 "/usr/include/math.h" 1 3 4
# 29 "/usr/include/math.h" 3 4
extern "C" {
# 1 "/usr/include/bits/huge_val.h" 1 3 4
# 34 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/huge_valf.h" 1 3 4
# 36 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/huge_vall.h" 1 3 4
# 37 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/inf.h" 1 3 4
# 40 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/nan.h" 1 3 4
# 43 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/mathdef.h" 1 3 4
# 28 "/usr/include/bits/mathdef.h" 3 4
typedef float float_t;
typedef double double_t;
# 47 "/usr/include/math.h" 2 3 4
# 70 "/usr/include/math.h" 3 4
# 1 "/usr/include/bits/mathcalls.h" 1 3 4
# 52 "/usr/include/bits/mathcalls.h" 3 4
extern double acos (double __x) throw (); extern double __acos (double __x) throw ();
extern double asin (double __x) throw (); extern double __asin (double __x) throw ();
extern double atan (double __x) throw (); extern double __atan (double __x) throw ();
extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw ();
extern double cos (double __x) throw (); extern double __cos (double __x) throw ();
extern double sin (double __x) throw (); extern double __sin (double __x) throw ();
extern double tan (double __x) throw (); extern double __tan (double __x) throw ();
extern double cosh (double __x) throw (); extern double __cosh (double __x) throw ();
extern double sinh (double __x) throw (); extern double __sinh (double __x) throw ();
extern double tanh (double __x) throw (); extern double __tanh (double __x) throw ();
extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw ()
;
extern double acosh (double __x) throw (); extern double __acosh (double __x) throw ();
extern double asinh (double __x) throw (); extern double __asinh (double __x) throw ();
extern double atanh (double __x) throw (); extern double __atanh (double __x) throw ();
extern double exp (double __x) throw (); extern double __exp (double __x) throw ();
extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw ();
extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw ();
extern double log (double __x) throw (); extern double __log (double __x) throw ();
extern double log10 (double __x) throw (); extern double __log10 (double __x) throw ();
extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw ()
__attribute__ ((__nonnull__ (2)));
extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw ();
extern double pow10 (double __x) throw (); extern double __pow10 (double __x) throw ();
extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw ();
extern double log1p (double __x) throw (); extern double __log1p (double __x) throw ();
extern double logb (double __x) throw (); extern double __logb (double __x) throw ();
extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw ();
extern double log2 (double __x) throw (); extern double __log2 (double __x) throw ();
extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw ();
extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw ();
extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw ();
extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw ();
extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__));
extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__));
extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__));
extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw ();
extern int __isinf (double __value) throw () __attribute__ ((__const__));
extern int __finite (double __value) throw () __attribute__ ((__const__));
extern int isinf (double __value) throw () __attribute__ ((__const__));
extern int finite (double __value) throw () __attribute__ ((__const__));
extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw ();
extern double significand (double __x) throw (); extern double __significand (double __x) throw ();
extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__));
extern double nan (const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (const char *__tagb) throw () __attribute__ ((__const__));
extern int __isnan (double __value) throw () __attribute__ ((__const__));
extern int isnan (double __value) throw () __attribute__ ((__const__));
extern double j0 (double) throw (); extern double __j0 (double) throw ();
extern double j1 (double) throw (); extern double __j1 (double) throw ();
extern double jn (int, double) throw (); extern double __jn (int, double) throw ();
extern double y0 (double) throw (); extern double __y0 (double) throw ();
extern double y1 (double) throw (); extern double __y1 (double) throw ();
extern double yn (int, double) throw (); extern double __yn (int, double) throw ();
extern double erf (double) throw (); extern double __erf (double) throw ();
extern double erfc (double) throw (); extern double __erfc (double) throw ();
extern double lgamma (double) throw (); extern double __lgamma (double) throw ();
extern double tgamma (double) throw (); extern double __tgamma (double) throw ();
extern double gamma (double) throw (); extern double __gamma (double) throw ();
extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw ();
extern double rint (double __x) throw (); extern double __rint (double __x) throw ();
extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__));
extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__));
extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw ();
extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw ();
extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw ();
extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw ();
extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw ();
extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__));
extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__));
extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw ();
extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw ();
extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw ();
extern long int lround (double __x) throw (); extern long int __lround (double __x) throw ();
extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw ();
extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw ();
extern double fmax (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmax (double __x, double __y) throw () __attribute__ ((__const__));
extern double fmin (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmin (double __x, double __y) throw () __attribute__ ((__const__));
extern int __fpclassify (double __value) throw ()
__attribute__ ((__const__));
extern int __signbit (double __value) throw ()
__attribute__ ((__const__));
extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw ();
extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw ();
# 71 "/usr/include/math.h" 2 3 4
# 89 "/usr/include/math.h" 3 4
# 1 "/usr/include/bits/mathcalls.h" 1 3 4
# 52 "/usr/include/bits/mathcalls.h" 3 4
extern float acosf (float __x) throw (); extern float __acosf (float __x) throw ();
extern float asinf (float __x) throw (); extern float __asinf (float __x) throw ();
extern float atanf (float __x) throw (); extern float __atanf (float __x) throw ();
extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw ();
extern float cosf (float __x) throw (); extern float __cosf (float __x) throw ();
extern float sinf (float __x) throw (); extern float __sinf (float __x) throw ();
extern float tanf (float __x) throw (); extern float __tanf (float __x) throw ();
extern float coshf (float __x) throw (); extern float __coshf (float __x) throw ();
extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw ();
extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw ();
extern void
sincosf
# 81 "/usr/include/bits/mathcalls.h" 3 4
(float __x, float *__sinx, float *__cosx) throw (); extern void
__sincosf
# 81 "/usr/include/bits/mathcalls.h" 3 4
(float __x, float *__sinx, float *__cosx) throw ()
;
extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw ();
extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw ();
extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw ();
extern float expf (float __x) throw (); extern float __expf (float __x) throw ();
extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw ();
extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw ();
extern float logf (float __x) throw (); extern float __logf (float __x) throw ();
extern float log10f (float __x) throw (); extern float __log10f (float __x) throw ();
extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw ()
__attribute__ ((__nonnull__ (2)));
extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw ();
extern float pow10f (float __x) throw (); extern float __pow10f (float __x) throw ();
extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw ();
extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw ();
extern float logbf (float __x) throw (); extern float __logbf (float __x) throw ();
extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw ();
extern float log2f (float __x) throw (); extern float __log2f (float __x) throw ();
extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw ();
extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw ();
extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw ();
extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw ();
extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__));
extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__));
extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__));
extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw ();
extern int __isinff (float __value) throw () __attribute__ ((__const__));
extern int __finitef (float __value) throw () __attribute__ ((__const__));
extern int isinff (float __value) throw () __attribute__ ((__const__));
extern int finitef (float __value) throw () __attribute__ ((__const__));
extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw ();
extern float significandf (float __x) throw (); extern float __significandf (float __x) throw ();
extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__));
extern float nanf (const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (const char *__tagb) throw () __attribute__ ((__const__));
extern int __isnanf (float __value) throw () __attribute__ ((__const__));
extern int isnanf (float __value) throw () __attribute__ ((__const__));
extern float j0f (float) throw (); extern float __j0f (float) throw ();
extern float j1f (float) throw (); extern float __j1f (float) throw ();
extern float jnf (int, float) throw (); extern float __jnf (int, float) throw ();
extern float y0f (float) throw (); extern float __y0f (float) throw ();
extern float y1f (float) throw (); extern float __y1f (float) throw ();
extern float ynf (int, float) throw (); extern float __ynf (int, float) throw ();
extern float erff (float) throw (); extern float __erff (float) throw ();
extern float erfcf (float) throw (); extern float __erfcf (float) throw ();
extern float lgammaf (float) throw (); extern float __lgammaf (float) throw ();
extern float tgammaf (float) throw (); extern float __tgammaf (float) throw ();
extern float gammaf (float) throw (); extern float __gammaf (float) throw ();
extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw ();
extern float rintf (float __x) throw (); extern float __rintf (float __x) throw ();
extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__));
extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__));
extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw ();
extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw ();
extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw ();
extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw ();
extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw ();
extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__));
extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__));
extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw ();
extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw ();
extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw ();
extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw ();
extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw ();
extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw ();
extern float fmaxf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) throw () __attribute__ ((__const__));
extern float fminf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminf (float __x, float __y) throw () __attribute__ ((__const__));
extern int __fpclassifyf (float __value) throw ()
__attribute__ ((__const__));
extern int __signbitf (float __value) throw ()
__attribute__ ((__const__));
extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw ();
extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw ();
# 90 "/usr/include/math.h" 2 3 4
# 133 "/usr/include/math.h" 3 4
# 1 "/usr/include/bits/mathcalls.h" 1 3 4
# 52 "/usr/include/bits/mathcalls.h" 3 4
extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw ();
extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw ();
extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw ();
extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw ();
extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw ();
extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw ();
extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw ();
extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw ();
extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw ();
extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw ();
extern void
sincosl
# 81 "/usr/include/bits/mathcalls.h" 3 4
(long double __x, long double *__sinx, long double *__cosx) throw (); extern void
__sincosl
# 81 "/usr/include/bits/mathcalls.h" 3 4
(long double __x, long double *__sinx, long double *__cosx) throw ()
;
extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw ();
extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw ();
extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw ();
extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw ();
extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw ();
extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw ();
extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw ();
extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw ();
extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw ()
__attribute__ ((__nonnull__ (2)));
extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw ();
extern long double pow10l (long double __x) throw (); extern long double __pow10l (long double __x) throw ();
extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw ();
extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw ();
extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw ();
extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw ();
extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw ();
extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw ();
extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw ();
extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw ();
extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw ();
extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__));
extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__));
extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__));
extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw ();
extern int __isinfl (long double __value) throw () __attribute__ ((__const__));
extern int __finitel (long double __value) throw () __attribute__ ((__const__));
extern int isinfl (long double __value) throw () __attribute__ ((__const__));
extern int finitel (long double __value) throw () __attribute__ ((__const__));
extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw ();
extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw ();
extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__));
extern long double nanl (const char *__tagb) throw () __attribute__ ((__const__)); extern long double __nanl (const char *__tagb) throw () __attribute__ ((__const__));
extern int __isnanl (long double __value) throw () __attribute__ ((__const__));
extern int isnanl (long double __value) throw () __attribute__ ((__const__));
extern long double j0l (long double) throw (); extern long double __j0l (long double) throw ();
extern long double j1l (long double) throw (); extern long double __j1l (long double) throw ();
extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw ();
extern long double y0l (long double) throw (); extern long double __y0l (long double) throw ();
extern long double y1l (long double) throw (); extern long double __y1l (long double) throw ();
extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw ();
extern long double erfl (long double) throw (); extern long double __erfl (long double) throw ();
extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw ();
extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw ();
extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw ();
extern long double gammal (long double) throw (); extern long double __gammal (long double) throw ();
extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw ();
extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw ();
extern long double nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__));
extern long double nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__));
extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw ();
extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw ();
extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw ();
extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw ();
extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw ();
extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__));
extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__));
extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw ();
extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw ();
extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw ();
extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw ();
extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw ();
extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw ();
extern long double fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__));
extern long double fminl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) throw () __attribute__ ((__const__));
extern int __fpclassifyl (long double __value) throw ()
__attribute__ ((__const__));
extern int __signbitl (long double __value) throw ()
__attribute__ ((__const__));
extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw ();
extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw ();
# 134 "/usr/include/math.h" 2 3 4
# 149 "/usr/include/math.h" 3 4
extern int signgam;
# 190 "/usr/include/math.h" 3 4
enum
{
FP_NAN =
0,
FP_INFINITE =
1,
FP_ZERO =
2,
FP_SUBNORMAL =
3,
FP_NORMAL =
4
};
# 288 "/usr/include/math.h" 3 4
typedef enum
{
_IEEE_ = -1,
_SVID_,
_XOPEN_,
_POSIX_,
_ISOC_
} _LIB_VERSION_TYPE;
extern _LIB_VERSION_TYPE _LIB_VERSION;
# 311 "/usr/include/math.h" 3 4
struct __exception
{
int type;
char *name;
double arg1;
double arg2;
double retval;
};
extern int matherr (struct __exception *__exc) throw ();
# 475 "/usr/include/math.h" 3 4
}
# 22 "/home/btbn/Projekte/obs-studio/libobs/graphics/vec2.h" 2 3 4
extern "C" {
struct vec2 {
union {
struct {
float x, y;
};
float ptr[2];
};
};
static inline void vec2_zero(struct vec2 *dst)
{
dst->x = 0.0f;
dst->y = 0.0f;
}
static inline void vec2_set(struct vec2 *dst, float x, float y)
{
dst->x = x;
dst->y = y;
}
static inline void vec2_copy(struct vec2 *dst, const struct vec2 *v)
{
dst->x = v->x;
dst->y = v->y;
}
static inline void vec2_add(struct vec2 *dst, const struct vec2 *v1,
const struct vec2 *v2)
{
vec2_set(dst, v1->x+v2->x, v1->y+v2->y);
}
static inline void vec2_sub(struct vec2 *dst, const struct vec2 *v1,
const struct vec2 *v2)
{
vec2_set(dst, v1->x-v2->x, v1->y-v2->y);
}
static inline void vec2_mul(struct vec2 *dst, const struct vec2 *v1,
const struct vec2 *v2)
{
vec2_set(dst, v1->x*v2->x, v1->y*v2->y);
}
static inline void vec2_div(struct vec2 *dst, const struct vec2 *v1,
const struct vec2 *v2)
{
vec2_set(dst, v1->x/v2->x, v1->y/v2->y);
}
static inline void vec2_addf(struct vec2 *dst, const struct vec2 *v,
float f)
{
vec2_set(dst, v->x+f, v->y+f);
}
static inline void vec2_subf(struct vec2 *dst, const struct vec2 *v,
float f)
{
vec2_set(dst, v->x-f, v->y-f);
}
static inline void vec2_mulf(struct vec2 *dst, const struct vec2 *v,
float f)
{
vec2_set(dst, v->x*f, v->y*f);
}
static inline void vec2_divf(struct vec2 *dst, const struct vec2 *v,
float f)
{
vec2_set(dst, v->x/f, v->y/f);
}
static inline void vec2_neg(struct vec2 *dst, const struct vec2 *v)
{
vec2_set(dst, -v->x, -v->y);
}
static inline float vec2_dot(const struct vec2 *v1, const struct vec2 *v2)
{
return (v1->x+v2->x) * (v1->y+v2->y);
}
static inline float vec2_len(const struct vec2 *v)
{
return sqrtf(v->x*v->x + v->y*v->y);
}
static inline float vec2_dist(const struct vec2 *v1, const struct vec2 *v2)
{
struct vec2 temp;
vec2_sub(&temp, v1, v2);
return vec2_len(&temp);
}
static inline void vec2_minf(struct vec2 *dst, const struct vec2 *v,
float val)
{
if (v->x < val)
dst->x = val;
if (v->y < val)
dst->y = val;
}
static inline void vec2_min(struct vec2 *dst, const struct vec2 *v,
const struct vec2 *min_v)
{
if (v->x < min_v->x)
dst->x = min_v->x;
if (v->y < min_v->y)
dst->y = min_v->y;
}
static inline void vec2_maxf(struct vec2 *dst, const struct vec2 *v,
float val)
{
if (v->x > val)
dst->x = val;
if (v->y > val)
dst->y = val;
}
static inline void vec2_max(struct vec2 *dst, const struct vec2 *v,
const struct vec2 *max_v)
{
if (v->x > max_v->x)
dst->x = max_v->x;
if (v->y > max_v->y)
dst->y = max_v->y;
}
void vec2_abs(struct vec2 *dst, const struct vec2 *v);
void vec2_floor(struct vec2 *dst, const struct vec2 *v);
void vec2_ceil(struct vec2 *dst, const struct vec2 *v);
int vec2_close(const struct vec2 *v1, const struct vec2 *v2,
float epsilon);
void vec2_norm(struct vec2 *dst, const struct vec2 *v);
}
# 24 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/media-io/audio-io.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/media-io/audio-io.h" 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/media-io/media-io-defs.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/media-io/media-io-defs.h" 3 4
# 21 "/home/btbn/Projekte/obs-studio/libobs/media-io/audio-io.h" 2 3 4
extern "C" {
struct audio_output;
struct audio_line;
typedef struct audio_output *audio_t;
typedef struct audio_line *audio_line_t;
enum audio_format {
AUDIO_FORMAT_UNKNOWN,
AUDIO_FORMAT_U8BIT,
AUDIO_FORMAT_16BIT,
AUDIO_FORMAT_32BIT,
AUDIO_FORMAT_FLOAT,
AUDIO_FORMAT_U8BIT_PLANAR,
AUDIO_FORMAT_16BIT_PLANAR,
AUDIO_FORMAT_32BIT_PLANAR,
AUDIO_FORMAT_FLOAT_PLANAR,
};
enum speaker_layout {
SPEAKERS_UNKNOWN,
SPEAKERS_MONO,
SPEAKERS_STEREO,
SPEAKERS_2POINT1,
SPEAKERS_QUAD,
SPEAKERS_4POINT1,
SPEAKERS_5POINT1,
SPEAKERS_5POINT1_SURROUND,
SPEAKERS_7POINT1,
SPEAKERS_7POINT1_SURROUND,
SPEAKERS_SURROUND,
};
struct audio_data {
uint8_t *data[8];
uint32_t frames;
uint64_t timestamp;
float volume;
};
struct audio_output_info {
const char *name;
uint32_t samples_per_sec;
enum audio_format format;
enum speaker_layout speakers;
uint64_t buffer_ms;
};
struct audio_convert_info {
uint32_t samples_per_sec;
enum audio_format format;
enum speaker_layout speakers;
};
static inline uint32_t get_audio_channels(enum speaker_layout speakers)
{
switch (speakers) {
case SPEAKERS_MONO: return 1;
case SPEAKERS_STEREO: return 2;
case SPEAKERS_2POINT1: return 3;
case SPEAKERS_SURROUND:
case SPEAKERS_QUAD: return 4;
case SPEAKERS_4POINT1: return 5;
case SPEAKERS_5POINT1:
case SPEAKERS_5POINT1_SURROUND: return 6;
case SPEAKERS_7POINT1: return 8;
case SPEAKERS_7POINT1_SURROUND: return 8;
case SPEAKERS_UNKNOWN: return 0;
}
return 0;
}
static inline size_t get_audio_bytes_per_channel(enum audio_format format)
{
switch (format) {
case AUDIO_FORMAT_U8BIT:
case AUDIO_FORMAT_U8BIT_PLANAR:
return 1;
case AUDIO_FORMAT_16BIT:
case AUDIO_FORMAT_16BIT_PLANAR:
return 2;
case AUDIO_FORMAT_FLOAT:
case AUDIO_FORMAT_FLOAT_PLANAR:
case AUDIO_FORMAT_32BIT:
case AUDIO_FORMAT_32BIT_PLANAR:
return 4;
case AUDIO_FORMAT_UNKNOWN:
return 0;
}
return 0;
}
static inline bool is_audio_planar(enum audio_format format)
{
switch (format) {
case AUDIO_FORMAT_U8BIT:
case AUDIO_FORMAT_16BIT:
case AUDIO_FORMAT_32BIT:
case AUDIO_FORMAT_FLOAT:
return false;
case AUDIO_FORMAT_U8BIT_PLANAR:
case AUDIO_FORMAT_FLOAT_PLANAR:
case AUDIO_FORMAT_16BIT_PLANAR:
case AUDIO_FORMAT_32BIT_PLANAR:
return true;
case AUDIO_FORMAT_UNKNOWN:
return false;
}
return false;
}
static inline size_t get_audio_planes(enum audio_format format,
enum speaker_layout speakers)
{
return (is_audio_planar(format) ? get_audio_channels(speakers) : 1);
}
static inline size_t get_audio_size(enum audio_format format,
enum speaker_layout speakers, uint32_t frames)
{
bool planar = is_audio_planar(format);
return (planar ? 1 : get_audio_channels(speakers)) *
get_audio_bytes_per_channel(format) *
frames;
}
int audio_output_open(audio_t *audio, struct audio_output_info *info);
void audio_output_close(audio_t audio);
bool audio_output_connect(audio_t video,
const struct audio_convert_info *conversion,
void (*callback)(void *param, struct audio_data *data),
void *param);
void audio_output_disconnect(audio_t video,
void (*callback)(void *param, struct audio_data *data),
void *param);
bool audio_output_active(audio_t audio);
size_t audio_output_blocksize(audio_t audio);
size_t audio_output_planes(audio_t audio);
size_t audio_output_channels(audio_t audio);
uint32_t audio_output_samplerate(audio_t audio);
const struct audio_output_info *audio_output_getinfo(audio_t audio);
audio_line_t audio_output_createline(audio_t audio, const char *name);
void audio_line_destroy(audio_line_t line);
void audio_line_output(audio_line_t line, const struct audio_data *data);
}
# 25 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/media-io/video-io.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/media-io/video-io.h" 3 4
extern "C" {
struct video_output;
typedef struct video_output *video_t;
enum video_format {
VIDEO_FORMAT_NONE,
VIDEO_FORMAT_I420,
VIDEO_FORMAT_NV12,
VIDEO_FORMAT_YVYU,
VIDEO_FORMAT_YUY2,
VIDEO_FORMAT_UYVY,
VIDEO_FORMAT_RGBA,
VIDEO_FORMAT_BGRA,
VIDEO_FORMAT_BGRX,
};
struct video_data {
uint8_t *data[8];
uint32_t linesize[8];
uint64_t timestamp;
};
struct video_output_info {
const char *name;
enum video_format format;
uint32_t fps_num;
uint32_t fps_den;
uint32_t width;
uint32_t height;
};
static inline bool format_is_yuv(enum video_format format)
{
switch (format) {
case VIDEO_FORMAT_I420:
case VIDEO_FORMAT_NV12:
case VIDEO_FORMAT_YVYU:
case VIDEO_FORMAT_YUY2:
case VIDEO_FORMAT_UYVY:
return true;
case VIDEO_FORMAT_NONE:
case VIDEO_FORMAT_RGBA:
case VIDEO_FORMAT_BGRA:
case VIDEO_FORMAT_BGRX:
return false;
}
return false;
}
enum video_scale_type {
VIDEO_SCALE_DEFAULT,
VIDEO_SCALE_POINT,
VIDEO_SCALE_FAST_BILINEAR,
VIDEO_SCALE_BILINEAR,
VIDEO_SCALE_BICUBIC,
};
enum video_colorspace {
VIDEO_CS_DEFAULT,
VIDEO_CS_601,
VIDEO_CS_709,
};
enum video_range_type {
VIDEO_RANGE_DEFAULT,
VIDEO_RANGE_PARTIAL,
VIDEO_RANGE_FULL
};
struct video_scale_info {
enum video_format format;
uint32_t width;
uint32_t height;
enum video_range_type range;
enum video_colorspace colorspace;
};
int video_output_open(video_t *video, struct video_output_info *info);
void video_output_close(video_t video);
bool video_output_connect(video_t video,
const struct video_scale_info *conversion,
void (*callback)(void *param, struct video_data *frame),
void *param);
void video_output_disconnect(video_t video,
void (*callback)(void *param, struct video_data *frame),
void *param);
bool video_output_active(video_t video);
const struct video_output_info *video_output_getinfo(video_t video);
void video_output_swap_frame(video_t video, struct video_data *frame);
bool video_output_wait(video_t video);
uint64_t video_getframetime(video_t video);
uint64_t video_gettime(video_t video);
void video_output_stop(video_t video);
uint32_t video_output_width(video_t video);
uint32_t video_output_height(video_t video);
double video_output_framerate(video_t video);
}
# 26 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/callback/signal.h" 1 3 4
# 17 "/home/btbn/Projekte/obs-studio/libobs/callback/signal.h" 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/callback/calldata.h" 1 3 4
# 17 "/home/btbn/Projekte/obs-studio/libobs/callback/calldata.h" 3 4
extern "C" {
# 34 "/home/btbn/Projekte/obs-studio/libobs/callback/calldata.h" 3 4
enum call_param_type {
CALL_PARAM_TYPE_VOID,
CALL_PARAM_TYPE_INT,
CALL_PARAM_TYPE_FLOAT,
CALL_PARAM_TYPE_BOOL,
CALL_PARAM_TYPE_PTR,
CALL_PARAM_TYPE_STRING
};
struct calldata {
size_t size;
size_t capacity;
uint8_t *stack;
};
typedef struct calldata *calldata_t;
static inline void calldata_init(struct calldata *data)
{
memset(data, 0, sizeof(struct calldata));
}
static inline void calldata_free(struct calldata *data)
{
bfree(data->stack);
}
bool calldata_getdata(calldata_t data, const char *name, void *out,
size_t size);
void calldata_setdata(calldata_t data, const char *name, const void *in,
size_t new_size);
static inline void calldata_clear(struct calldata *data)
{
if (data->stack) {
data->size = sizeof(size_t);
*(size_t*)data->stack = 0;
}
}
static inline bool calldata_getint(calldata_t data, const char *name,
long long *val)
{
return calldata_getdata(data, name, val, sizeof(*val));
}
static inline bool calldata_getfloat (calldata_t data, const char *name,
double *val)
{
return calldata_getdata(data, name, val, sizeof(*val));
}
static inline bool calldata_getbool (calldata_t data, const char *name,
bool *val)
{
return calldata_getdata(data, name, val, sizeof(*val));
}
static inline bool calldata_getptr (calldata_t data, const char *name,
void *p_ptr)
{
return calldata_getdata(data, name, p_ptr, sizeof(p_ptr));
}
bool calldata_getstring(calldata_t data, const char *name,
const char **str);
static inline long long calldata_int(calldata_t data, const char *name)
{
long long val = 0;
calldata_getint(data, name, &val);
return val;
}
static inline double calldata_float(calldata_t data, const char *name)
{
double val = 0.0;
calldata_getfloat(data, name, &val);
return val;
}
static inline bool calldata_bool(calldata_t data, const char *name)
{
bool val = false;
calldata_getbool(data, name, &val);
return val;
}
static inline void *calldata_ptr(calldata_t data, const char *name)
{
void *val;
calldata_getptr(data, name, &val);
return val;
}
static inline const char *calldata_string(calldata_t data, const char *name)
{
const char *val;
calldata_getstring(data, name, &val);
return val;
}
static inline void calldata_setint (calldata_t data, const char *name,
long long val)
{
calldata_setdata(data, name, &val, sizeof(val));
}
static inline void calldata_setfloat (calldata_t data, const char *name,
double val)
{
calldata_setdata(data, name, &val, sizeof(val));
}
static inline void calldata_setbool (calldata_t data, const char *name,
bool val)
{
calldata_setdata(data, name, &val, sizeof(val));
}
static inline void calldata_setptr (calldata_t data, const char *name,
void *ptr)
{
calldata_setdata(data, name, &ptr, sizeof(ptr));
}
static inline void calldata_setstring(calldata_t data, const char *name,
const char *str)
{
if (str)
calldata_setdata(data, name, str, strlen(str)+1);
else
calldata_setdata(data, name, __null, 0);
}
}
# 22 "/home/btbn/Projekte/obs-studio/libobs/callback/signal.h" 2 3 4
extern "C" {
# 34 "/home/btbn/Projekte/obs-studio/libobs/callback/signal.h" 3 4
struct signal_handler;
typedef struct signal_handler *signal_handler_t;
typedef void (*signal_callback_t)(void*, calldata_t);
signal_handler_t signal_handler_create(void);
void signal_handler_destroy(signal_handler_t handler);
bool signal_handler_add(signal_handler_t handler,
const char *signal_decl);
static inline bool signal_handler_add_array(signal_handler_t handler,
const char **signal_decls)
{
bool success = true;
if (!signal_decls)
return false;
while (*signal_decls)
if (!signal_handler_add(handler, *(signal_decls++)))
success = false;
return success;
}
void signal_handler_connect(signal_handler_t handler, const char *signal,
signal_callback_t callback, void *data);
void signal_handler_disconnect(signal_handler_t handler,
const char *signal, signal_callback_t callback, void *data);
void signal_handler_signal(signal_handler_t handler, const char *signal,
calldata_t params);
}
# 27 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/callback/proc.h" 1 3 4
# 17 "/home/btbn/Projekte/obs-studio/libobs/callback/proc.h" 3 4
extern "C" {
# 35 "/home/btbn/Projekte/obs-studio/libobs/callback/proc.h" 3 4
struct proc_handler;
typedef struct proc_handler *proc_handler_t;
typedef void (*proc_handler_proc_t)(void*, calldata_t);
proc_handler_t proc_handler_create(void);
void proc_handler_destroy(proc_handler_t handler);
void proc_handler_add(proc_handler_t handler, const char *decl_string,
proc_handler_proc_t proc, void *data);
bool proc_handler_call(proc_handler_t handler, const char *name,
calldata_t params);
}
# 28 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-defs.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-defs.h" 3 4
# 30 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-data.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-data.h" 3 4
extern "C" {
# 33 "/home/btbn/Projekte/obs-studio/libobs/obs-data.h" 3 4
struct obs_data;
struct obs_data_item;
struct obs_data_array;
typedef struct obs_data *obs_data_t;
typedef struct obs_data_item *obs_data_item_t;
typedef struct obs_data_array *obs_data_array_t;
enum obs_data_type {
OBS_DATA_NULL,
OBS_DATA_STRING,
OBS_DATA_NUMBER,
OBS_DATA_BOOLEAN,
OBS_DATA_OBJECT,
OBS_DATA_ARRAY
};
enum obs_data_number_type {
OBS_DATA_NUM_INVALID,
OBS_DATA_NUM_INT,
OBS_DATA_NUM_DOUBLE
};
obs_data_t obs_data_create();
obs_data_t obs_data_create_from_json(const char *json_string);
void obs_data_addref(obs_data_t data);
void obs_data_release(obs_data_t data);
const char *obs_data_getjson(obs_data_t data);
void obs_data_apply(obs_data_t target, obs_data_t apply_data);
void obs_data_erase(obs_data_t data, const char *name);
void obs_data_setstring(obs_data_t data, const char *name,
const char *val);
void obs_data_setint(obs_data_t data, const char *name,
long long val);
void obs_data_setdouble(obs_data_t data, const char *name, double val);
void obs_data_setbool(obs_data_t data, const char *name, bool val);
void obs_data_setobj(obs_data_t data, const char *name, obs_data_t obj);
void obs_data_setarray(obs_data_t data, const char *name,
obs_data_array_t array);
void obs_data_set_default_string(obs_data_t data, const char *name,
const char *val);
void obs_data_set_default_int(obs_data_t data, const char *name,
long long val);
void obs_data_set_default_double(obs_data_t data, const char *name,
double val);
void obs_data_set_default_bool(obs_data_t data, const char *name,
bool val);
void obs_data_set_default_obj(obs_data_t data, const char *name,
obs_data_t obj);
const char *obs_data_getstring(obs_data_t data, const char *name);
long long obs_data_getint(obs_data_t data, const char *name);
double obs_data_getdouble(obs_data_t data, const char *name);
bool obs_data_getbool(obs_data_t data, const char *name);
obs_data_t obs_data_getobj(obs_data_t data, const char *name);
obs_data_array_t obs_data_getarray(obs_data_t data, const char *name);
obs_data_array_t obs_data_array_create();
void obs_data_array_addref(obs_data_array_t array);
void obs_data_array_release(obs_data_array_t array);
size_t obs_data_array_count(obs_data_array_t array);
obs_data_t obs_data_array_item(obs_data_array_t array, size_t idx);
size_t obs_data_array_push_back(obs_data_array_t array, obs_data_t obj);
void obs_data_array_insert(obs_data_array_t array, size_t idx,
obs_data_t obj);
void obs_data_array_erase(obs_data_array_t array, size_t idx);
obs_data_item_t obs_data_first(obs_data_t data);
obs_data_item_t obs_data_item_byname(obs_data_t data, const char *name);
bool obs_data_item_next(obs_data_item_t *item);
void obs_data_item_release(obs_data_item_t *item);
void obs_data_item_remove(obs_data_item_t *item);
enum obs_data_type obs_data_item_gettype(obs_data_item_t item);
enum obs_data_number_type obs_data_item_numtype(obs_data_item_t item);
void obs_data_item_setstring(obs_data_item_t *item, const char *val);
void obs_data_item_setint(obs_data_item_t *item, long long val);
void obs_data_item_setdouble(obs_data_item_t *item, double val);
void obs_data_item_setbool(obs_data_item_t *item, bool val);
void obs_data_item_setobj(obs_data_item_t *item, obs_data_t val);
void obs_data_item_setarray(obs_data_item_t *item, obs_data_array_t val);
const char *obs_data_item_getstring(obs_data_item_t item);
long long obs_data_item_getint(obs_data_item_t item);
double obs_data_item_getdouble(obs_data_item_t item);
bool obs_data_item_getbool(obs_data_item_t item);
obs_data_t obs_data_item_getobj(obs_data_item_t item);
obs_data_array_t obs_data_item_getarray(obs_data_item_t item);
static inline obs_data_t obs_data_newref(obs_data_t data)
{
if (data)
obs_data_addref(data);
else
data = obs_data_create();
return data;
}
}
# 31 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-ui.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-ui.h" 3 4
extern "C" {
# 40 "/home/btbn/Projekte/obs-studio/libobs/obs-ui.h" 3 4
struct obs_modal_ui {
const char *id;
const char *task;
const char *target;
# 67 "/home/btbn/Projekte/obs-studio/libobs/obs-ui.h" 3 4
bool (*exec)(void *object, void *ui_data);
};
void obs_register_modal_ui(const struct obs_modal_ui *info);
struct obs_modeless_ui {
const char *id;
const char *task;
const char *target;
# 103 "/home/btbn/Projekte/obs-studio/libobs/obs-ui.h" 3 4
void *(*create)(void *object, void *ui_data);
};
void obs_register_modeless_ui(const struct obs_modeless_ui *info);
# 133 "/home/btbn/Projekte/obs-studio/libobs/obs-ui.h" 3 4
int obs_exec_ui(const char *id, const char *task, const char *target,
void *data, void *ui_data);
# 148 "/home/btbn/Projekte/obs-studio/libobs/obs-ui.h" 3 4
void *obs_create_ui(const char *id, const char *task,
const char *target, void *data, void *ui_data);
}
# 32 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-properties.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-properties.h" 3 4
extern "C" {
enum obs_property_type {
OBS_PROPERTY_INVALID,
OBS_PROPERTY_BOOL,
OBS_PROPERTY_INT,
OBS_PROPERTY_FLOAT,
OBS_PROPERTY_TEXT,
OBS_PROPERTY_PATH,
OBS_PROPERTY_LIST,
OBS_PROPERTY_COLOR,
};
enum obs_combo_format {
OBS_COMBO_FORMAT_INVALID,
OBS_COMBO_FORMAT_INT,
OBS_COMBO_FORMAT_FLOAT,
OBS_COMBO_FORMAT_STRING
};
enum obs_combo_type {
OBS_COMBO_TYPE_INVALID,
OBS_COMBO_TYPE_EDITABLE,
OBS_COMBO_TYPE_LIST,
};
enum obs_text_type {
OBS_TEXT_DEFAULT,
OBS_TEXT_PASSWORD,
};
struct obs_properties;
struct obs_property;
typedef struct obs_properties *obs_properties_t;
typedef struct obs_property *obs_property_t;
obs_properties_t obs_properties_create(const char *locale);
void obs_properties_destroy(obs_properties_t props);
const char *obs_properties_locale(obs_properties_t props);
obs_property_t obs_properties_first(obs_properties_t props);
obs_property_t obs_properties_get(obs_properties_t props,
const char *property);
extern void obs_properties_apply_settings(obs_properties_t props,
obs_data_t settings);
obs_property_t obs_properties_add_bool(obs_properties_t props,
const char *name, const char *description);
obs_property_t obs_properties_add_int(obs_properties_t props,
const char *name, const char *description,
int min, int max, int step);
obs_property_t obs_properties_add_float(obs_properties_t props,
const char *name, const char *description,
double min, double max, double step);
obs_property_t obs_properties_add_text(obs_properties_t props,
const char *name, const char *description,
enum obs_text_type type);
obs_property_t obs_properties_add_path(obs_properties_t props,
const char *name, const char *description);
obs_property_t obs_properties_add_list(obs_properties_t props,
const char *name, const char *description,
enum obs_combo_type type, enum obs_combo_format format);
obs_property_t obs_properties_add_color(obs_properties_t props,
const char *name, const char *description);
# 111 "/home/btbn/Projekte/obs-studio/libobs/obs-properties.h" 3 4
typedef bool (*obs_property_modified_t)(obs_properties_t props,
obs_property_t property, obs_data_t settings);
void obs_property_set_modified_callback(obs_property_t p,
obs_property_modified_t modified);
bool obs_property_modified(obs_property_t p, obs_data_t settings);
void obs_property_set_visible(obs_property_t p, bool visible);
void obs_property_set_enabled(obs_property_t p, bool enabled);
const char * obs_property_name(obs_property_t p);
const char * obs_property_description(obs_property_t p);
enum obs_property_type obs_property_get_type(obs_property_t p);
bool obs_property_enabled(obs_property_t p);
bool obs_property_visible(obs_property_t p);
bool obs_property_next(obs_property_t *p);
int obs_property_int_min(obs_property_t p);
int obs_property_int_max(obs_property_t p);
int obs_property_int_step(obs_property_t p);
double obs_property_float_min(obs_property_t p);
double obs_property_float_max(obs_property_t p);
double obs_property_float_step(obs_property_t p);
enum obs_text_type obs_proprety_text_type(obs_property_t p);
enum obs_combo_type obs_property_list_type(obs_property_t p);
enum obs_combo_format obs_property_list_format(obs_property_t p);
void obs_property_list_clear(obs_property_t p);
void obs_property_list_add_string(obs_property_t p,
const char *name, const char *val);
void obs_property_list_add_int(obs_property_t p,
const char *name, long long val);
void obs_property_list_add_float(obs_property_t p,
const char *name, double val);
void obs_property_list_remove(obs_property_t p, size_t idx);
size_t obs_property_list_item_count(obs_property_t p);
const char *obs_property_list_item_name(obs_property_t p, size_t idx);
const char *obs_property_list_item_string(obs_property_t p, size_t idx);
long long obs_property_list_item_int(obs_property_t p, size_t idx);
double obs_property_list_item_float(obs_property_t p, size_t idx);
}
# 33 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
struct obs_display;
struct obs_view;
struct obs_source;
struct obs_scene;
struct obs_scene_item;
struct obs_output;
struct obs_encoder;
struct obs_service;
typedef struct obs_display *obs_display_t;
typedef struct obs_view *obs_view_t;
typedef struct obs_source *obs_source_t;
typedef struct obs_scene *obs_scene_t;
typedef struct obs_scene_item *obs_sceneitem_t;
typedef struct obs_output *obs_output_t;
typedef struct obs_encoder *obs_encoder_t;
typedef struct obs_service *obs_service_t;
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
extern "C" {
enum obs_source_type {
OBS_SOURCE_TYPE_INPUT,
OBS_SOURCE_TYPE_FILTER,
OBS_SOURCE_TYPE_TRANSITION,
OBS_SOURCE_TYPE_SCENE = 0x80000000
};
# 95 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
typedef void (*obs_source_enum_proc_t)(obs_source_t parent, obs_source_t child,
void *param);
struct obs_source_info {
const char *id;
# 115 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
enum obs_source_type type;
uint32_t output_flags;
const char *(*getname)(const char *locale);
# 135 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
void *(*create)(obs_data_t settings, obs_source_t source);
void (*destroy)(void *data);
uint32_t (*getwidth)(void *data);
uint32_t (*getheight)(void *data);
# 156 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
void (*defaults)(obs_data_t settings);
obs_properties_t (*properties)(const char *locale);
void (*update)(void *data, obs_data_t settings);
void (*activate)(void *data);
void (*deactivate)(void *data);
void (*show)(void *data);
void (*hide)(void *data);
void (*video_tick)(void *data, float seconds);
# 224 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
void (*video_render)(void *data, effect_t effect);
# 236 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
struct source_frame *(*filter_video)(void *data,
const struct source_frame *frame);
# 250 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
struct filtered_audio *(*filter_audio)(void *data,
struct filtered_audio *audio);
# 261 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
void (*enum_sources)(void *data,
obs_source_enum_proc_t enum_callback,
void *param);
};
void obs_register_source_s(const struct obs_source_info *info,
size_t size);
# 279 "/home/btbn/Projekte/obs-studio/libobs/obs-source.h" 3 4
}
# 54 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
enum obs_encoder_type {
OBS_ENCODER_AUDIO,
OBS_ENCODER_VIDEO
};
struct encoder_packet {
uint8_t *data;
size_t size;
int64_t pts;
int64_t dts;
int32_t timebase_num;
int32_t timebase_den;
enum obs_encoder_type type;
bool keyframe;
int64_t dts_usec;
int priority;
int drop_priority;
};
struct encoder_frame {
uint8_t *data[8];
uint32_t linesize[8];
uint32_t frames;
int64_t pts;
};
# 89 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
struct obs_encoder_info {
const char *id;
enum obs_encoder_type type;
const char *codec;
const char *(*getname)(const char *locale);
# 118 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
void *(*create)(obs_data_t settings, obs_encoder_t encoder);
void (*destroy)(void *data);
# 139 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
bool (*encode)(void *data, struct encoder_frame *frame,
struct encoder_packet *packet, bool *received_packet);
size_t (*frame_size)(void *data);
# 153 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
void (*defaults)(obs_data_t settings);
obs_properties_t (*properties)(const char *locale);
# 171 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
bool (*update)(void *data, obs_data_t settings);
# 183 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
bool (*extra_data)(void *data, uint8_t **extra_data, size_t *size);
# 193 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
bool (*sei_data)(void *data, uint8_t **sei_data, size_t *size);
# 203 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
bool (*audio_info)(void *data, struct audio_convert_info *info);
# 213 "/home/btbn/Projekte/obs-studio/libobs/obs-encoder.h" 3 4
bool (*video_info)(void *data, struct video_scale_info *info);
};
void obs_register_encoder_s(const struct obs_encoder_info *info,
size_t size);
# 55 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-output.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-output.h" 3 4
struct encoder_packet;
struct obs_output_info {
const char *id;
uint32_t flags;
const char *(*getname)(const char *locale);
void *(*create)(obs_data_t settings, obs_output_t output);
void (*destroy)(void *data);
bool (*start)(void *data);
void (*stop)(void *data);
void (*raw_video)(void *data, struct video_data *frame);
void (*raw_audio)(void *data, struct audio_data *frames);
void (*encoded_packet)(void *data, struct encoder_packet *packet);
void (*update)(void *data, obs_data_t settings);
void (*defaults)(obs_data_t settings);
obs_properties_t (*properties)(const char *locale);
void (*pause)(void *data);
};
void obs_register_output_s(const struct obs_output_info *info,
size_t size);
# 56 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/obs-service.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/obs-service.h" 3 4
struct obs_service_info {
char *id;
const char *(*getname)(const char *locale);
void *(*create)(obs_data_t settings, obs_service_t service);
void (*destroy)(void *data);
void (*update)(void *data, obs_data_t settings);
const char *(*get_url)(void *data);
const char *(*get_key)(void *data);
};
# 57 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 2 3 4
# 65 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
extern "C" {
# 77 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
enum order_movement {
ORDER_MOVE_UP,
ORDER_MOVE_DOWN,
ORDER_MOVE_TOP,
ORDER_MOVE_BOTTOM
};
enum allow_direct_render {
NO_DIRECT_RENDERING,
ALLOW_DIRECT_RENDERING,
};
struct obs_video_info {
const char *graphics_module;
uint32_t fps_num;
uint32_t fps_den;
uint32_t window_width;
uint32_t window_height;
uint32_t base_width;
uint32_t base_height;
uint32_t output_width;
uint32_t output_height;
enum video_format output_format;
uint32_t adapter;
struct gs_window window;
bool gpu_conversion;
};
struct filtered_audio {
uint8_t *data[8];
uint32_t frames;
uint64_t timestamp;
};
struct source_audio {
const uint8_t *data[8];
uint32_t frames;
enum speaker_layout speakers;
enum audio_format format;
uint32_t samples_per_sec;
uint64_t timestamp;
};
# 160 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
struct source_frame {
uint8_t *data[8];
uint32_t linesize[8];
uint32_t width;
uint32_t height;
uint64_t timestamp;
enum video_format format;
float color_matrix[16];
bool flip;
};
bool obs_startup(void);
void obs_shutdown(void);
bool obs_initialized(void);
bool obs_reset_video(struct obs_video_info *ovi);
bool obs_reset_audio(struct audio_output_info *ai);
bool obs_get_video_info(struct obs_video_info *ovi);
bool obs_get_audio_info(struct audio_output_info *ai);
# 211 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
int obs_load_module(const char *path);
bool obs_enum_input_types(size_t idx, const char **id);
bool obs_enum_filter_types(size_t idx, const char **id);
bool obs_enum_transition_types(size_t idx, const char **id);
bool obs_enum_output_types(size_t idx, const char **id);
graphics_t obs_graphics(void);
audio_t obs_audio(void);
video_t obs_video(void);
# 262 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
bool obs_add_source(obs_source_t source);
void obs_set_output_source(uint32_t channel, obs_source_t source);
obs_source_t obs_get_output_source(uint32_t channel);
void obs_enum_sources(bool (*enum_proc)(void*, obs_source_t),
void *param);
void obs_enum_outputs(bool (*enum_proc)(void*, obs_output_t),
void *param);
void obs_enum_encoders(bool (*enum_proc)(void*, obs_encoder_t),
void *param);
obs_source_t obs_get_source_by_name(const char *name);
char *obs_find_plugin_file(const char *file);
effect_t obs_get_default_effect(void);
signal_handler_t obs_signalhandler(void);
proc_handler_t obs_prochandler(void);
void obs_add_draw_callback(
void (*draw)(void *param, uint32_t cx, uint32_t cy),
void *param);
void obs_remove_draw_callback(
void (*draw)(void *param, uint32_t cx, uint32_t cy),
void *param);
void obs_resize(uint32_t cx, uint32_t cy);
void obs_render_main_view(void);
void obs_set_master_volume(float volume);
void obs_set_present_volume(float volume);
float obs_get_master_volume(void);
float obs_get_present_volume(void);
# 353 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
obs_view_t obs_view_create(void);
void obs_view_destroy(obs_view_t view);
void obs_view_setsource(obs_view_t view, uint32_t channel,
obs_source_t source);
obs_source_t obs_view_getsource(obs_view_t view,
uint32_t channel);
void obs_view_render(obs_view_t view);
# 380 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
obs_display_t obs_display_create(struct gs_init_data *graphics_data);
void obs_display_destroy(obs_display_t display);
void obs_display_resize(obs_display_t display, uint32_t cx, uint32_t cy);
# 396 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
void obs_display_add_draw_callback(obs_display_t display,
void (*draw)(void *param, uint32_t cx, uint32_t cy),
void *param);
void obs_display_remove_draw_callback(obs_display_t display,
void (*draw)(void *param, uint32_t cx, uint32_t cy),
void *param);
const char *obs_source_getdisplayname(enum obs_source_type type,
const char *id, const char *locale);
obs_source_t obs_source_create(enum obs_source_type type,
const char *id, const char *name, obs_data_t settings);
void obs_source_addref(obs_source_t source);
void obs_source_release(obs_source_t source);
void obs_source_remove(obs_source_t source);
bool obs_source_removed(obs_source_t source);
uint32_t obs_source_get_output_flags(obs_source_t source);
obs_data_t obs_get_source_defaults(enum obs_source_type type,
const char *id);
obs_properties_t obs_get_source_properties(enum obs_source_type type,
const char *id, const char *locale);
obs_properties_t obs_source_properties(obs_source_t source,
const char *locale);
void obs_source_update(obs_source_t source, obs_data_t settings);
void obs_source_video_render(obs_source_t source);
uint32_t obs_source_getwidth(obs_source_t source);
uint32_t obs_source_getheight(obs_source_t source);
obs_source_t obs_filter_getparent(obs_source_t filter);
obs_source_t obs_filter_gettarget(obs_source_t filter);
void obs_source_filter_add(obs_source_t source, obs_source_t filter);
void obs_source_filter_remove(obs_source_t source, obs_source_t filter);
void obs_source_filter_setorder(obs_source_t source, obs_source_t filter,
enum order_movement movement);
obs_data_t obs_source_getsettings(obs_source_t source);
const char *obs_source_getname(obs_source_t source);
void obs_source_setname(obs_source_t source, const char *name);
void obs_source_gettype(obs_source_t source, enum obs_source_type *type,
const char **id);
signal_handler_t obs_source_signalhandler(obs_source_t source);
proc_handler_t obs_source_prochandler(obs_source_t source);
void obs_source_setvolume(obs_source_t source, float volume);
void obs_source_set_present_volume(obs_source_t source, float volume);
float obs_source_getvolume(obs_source_t source);
float obs_source_get_present_volume(obs_source_t source);
void obs_source_set_sync_offset(obs_source_t source, int64_t offset);
int64_t obs_source_get_sync_offset(obs_source_t source);
void obs_source_enum_sources(obs_source_t source,
obs_source_enum_proc_t enum_callback,
void *param);
void obs_source_enum_tree(obs_source_t source,
obs_source_enum_proc_t enum_callback,
void *param);
bool obs_source_active(obs_source_t source);
void obs_source_output_video(obs_source_t source,
const struct source_frame *frame);
void obs_source_output_audio(obs_source_t source,
const struct source_audio *audio);
struct source_frame *obs_source_getframe(obs_source_t source);
void obs_source_releaseframe(obs_source_t source,
struct source_frame *frame);
void obs_source_process_filter(obs_source_t filter, effect_t effect,
uint32_t width, uint32_t height, enum gs_color_format format,
enum allow_direct_render allow_direct);
void obs_source_add_child(obs_source_t parent, obs_source_t child);
void obs_source_remove_child(obs_source_t parent, obs_source_t child);
void obs_transition_begin_frame(obs_source_t transition);
void obs_source_set_transition_vol(obs_source_t source, float vol);
void obs_transition_end_frame(obs_source_t transition);
# 592 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
obs_scene_t obs_scene_create(const char *name);
void obs_scene_addref(obs_scene_t scene);
void obs_scene_release(obs_scene_t scene);
obs_source_t obs_scene_getsource(obs_scene_t scene);
obs_scene_t obs_scene_fromsource(obs_source_t source);
obs_sceneitem_t obs_scene_findsource(obs_scene_t scene,
const char *name);
void obs_scene_enum_items(obs_scene_t scene,
bool (*callback)(obs_scene_t, obs_sceneitem_t, void*),
void *param);
obs_sceneitem_t obs_scene_add(obs_scene_t scene, obs_source_t source);
void obs_sceneitem_addref(obs_sceneitem_t item);
void obs_sceneitem_release(obs_sceneitem_t item);
void obs_sceneitem_remove(obs_sceneitem_t item);
obs_scene_t obs_sceneitem_getscene(obs_sceneitem_t item);
obs_source_t obs_sceneitem_getsource(obs_sceneitem_t item);
void obs_sceneitem_setpos(obs_sceneitem_t item, const struct vec2 *pos);
void obs_sceneitem_setrot(obs_sceneitem_t item, float rot);
void obs_sceneitem_setorigin(obs_sceneitem_t item,
const struct vec2 *origin);
void obs_sceneitem_setscale(obs_sceneitem_t item,
const struct vec2 *scale);
void obs_sceneitem_setorder(obs_sceneitem_t item,
enum order_movement movement);
void obs_sceneitem_getpos(obs_sceneitem_t item, struct vec2 *pos);
float obs_sceneitem_getrot(obs_sceneitem_t item);
void obs_sceneitem_getorigin(obs_sceneitem_t item, struct vec2 *center);
void obs_sceneitem_getscale(obs_sceneitem_t item, struct vec2 *scale);
const char *obs_output_getdisplayname(const char *id,
const char *locale);
obs_output_t obs_output_create(const char *id, const char *name,
obs_data_t settings);
void obs_output_destroy(obs_output_t output);
bool obs_output_start(obs_output_t output);
void obs_output_stop(obs_output_t output);
bool obs_output_active(obs_output_t output);
obs_data_t obs_output_defaults(const char *id);
obs_properties_t obs_get_output_properties(const char *id,
const char *locale);
obs_properties_t obs_output_properties(obs_output_t output,
const char *locale);
void obs_output_update(obs_output_t output, obs_data_t settings);
bool obs_output_canpause(obs_output_t output);
void obs_output_pause(obs_output_t output);
obs_data_t obs_output_get_settings(obs_output_t output);
signal_handler_t obs_output_signalhandler(obs_output_t output);
proc_handler_t obs_output_prochandler(obs_output_t output);
void obs_output_set_video(obs_output_t output, video_t video);
void obs_output_set_media(obs_output_t output,
video_t video, audio_t audio);
video_t obs_output_video(obs_output_t output);
audio_t obs_output_audio(obs_output_t output);
void obs_output_set_video_encoder(obs_output_t output,
obs_encoder_t encoder);
void obs_output_set_audio_encoder(obs_output_t output,
obs_encoder_t encoder);
obs_encoder_t obs_output_get_video_encoder(obs_output_t output);
obs_encoder_t obs_output_get_audio_encoder(obs_output_t output);
void obs_output_set_video_conversion(obs_output_t output,
const struct video_scale_info *conversion);
void obs_output_set_audio_conversion(obs_output_t output,
const struct audio_convert_info *conversion);
bool obs_output_can_begin_data_capture(obs_output_t output,
uint32_t flags);
bool obs_output_initialize_encoders(obs_output_t output, uint32_t flags);
# 769 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
bool obs_output_begin_data_capture(obs_output_t output, uint32_t flags);
void obs_output_end_data_capture(obs_output_t output);
void obs_output_signal_stop(obs_output_t output, int code);
const char *obs_encoder_getdisplayname(const char *id,
const char *locale);
# 798 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
obs_encoder_t obs_video_encoder_create(const char *id, const char *name,
obs_data_t settings, video_t video);
# 810 "/home/btbn/Projekte/obs-studio/libobs/obs.h" 3 4
obs_encoder_t obs_audio_encoder_create(const char *id, const char *name,
obs_data_t settings, audio_t audio);
void obs_encoder_destroy(obs_encoder_t encoder);
const char *obs_encoder_get_codec(obs_encoder_t encoder);
obs_data_t obs_encoder_defaults(const char *id);
obs_properties_t obs_get_encoder_properties(const char *id,
const char *locale);
obs_properties_t obs_encoder_properties(obs_encoder_t encoder,
const char *locale);
void obs_encoder_update(obs_encoder_t encoder, obs_data_t settings);
bool obs_encoder_get_extra_data(obs_encoder_t encoder,
uint8_t **extra_data, size_t *size);
obs_data_t obs_encoder_get_settings(obs_encoder_t encoder);
video_t obs_encoder_video(obs_encoder_t encoder);
audio_t obs_encoder_audio(obs_encoder_t encoder);
void obs_duplicate_encoder_packet(struct encoder_packet *dst,
const struct encoder_packet *src);
void obs_free_encoder_packet(struct encoder_packet *packet);
const char *obs_service_getdisplayname(const char *id,
const char *locale);
obs_service_t obs_service_create(const char *service,
obs_data_t settings);
void obs_service_destroy(obs_service_t service);
void source_frame_init(struct source_frame *frame,
enum video_format format, uint32_t width, uint32_t height);
static inline void source_frame_free(struct source_frame *frame)
{
if (frame) {
bfree(frame->data[0]);
memset(frame, 0, sizeof(struct source_frame));
}
}
static inline struct source_frame *source_frame_create(
enum video_format format, uint32_t width, uint32_t height)
{
struct source_frame *frame;
frame = (struct source_frame*)bzalloc(sizeof(struct source_frame));
source_frame_init(frame, format, width, height);
return frame;
}
static inline void source_frame_destroy(struct source_frame *frame)
{
if (frame) {
bfree(frame->data[0]);
bfree(frame);
}
}
}
# 21 "/home/btbn/Projekte/obs-studio/libobs/obs-module.h" 2 3 4
# 48 "/home/btbn/Projekte/obs-studio/libobs/obs-module.h" 3 4
extern "C" bool obs_module_load(uint32_t libobs_version);
extern "C" void obs_module_unload(void);
# 67 "/home/btbn/Projekte/obs-studio/libobs/obs-module.h" 3 4
extern "C" const char *obs_module_description(const char *locale);
# 11 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/home/btbn/Projekte/obs-studio/libobs/graphics/vec4.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/graphics/vec4.h" 3 4
# 1 "/home/btbn/Projekte/obs-studio/libobs/graphics/math-defs.h" 1 3 4
# 18 "/home/btbn/Projekte/obs-studio/libobs/graphics/math-defs.h" 3 4
extern "C" {
# 38 "/home/btbn/Projekte/obs-studio/libobs/graphics/math-defs.h" 3 4
static inline bool close_float(float f1, float f2, float precision)
{
return fabsf(f1-f2) <= precision;
}
}
# 21 "/home/btbn/Projekte/obs-studio/libobs/graphics/vec4.h" 2 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 1 3 4
# 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/mmintrin.h" 1 3 4
# 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/mmintrin.h" 3 4
typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
typedef int __v2si __attribute__ ((__vector_size__ (8)));
typedef short __v4hi __attribute__ ((__vector_size__ (8)));
typedef char __v8qi __attribute__ ((__vector_size__ (8)));
typedef long long __v1di __attribute__ ((__vector_size__ (8)));
typedef float __v2sf __attribute__ ((__vector_size__ (8)));
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_empty (void)
{
__builtin_ia32_emms ();
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_empty (void)
{
_mm_empty ();
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi32_si64 (int __i)
{
return (__m64) __builtin_ia32_vec_init_v2si (__i, 0);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_from_int (int __i)
{
return _mm_cvtsi32_si64 (__i);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_from_int64 (long long __i)
{
return (__m64) __i;
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_m64 (long long __i)
{
return (__m64) __i;
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64x_si64 (long long __i)
{
return (__m64) __i;
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi64x (long long __i)
{
return (__m64) __i;
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_si32 (__m64 __i)
{
return __builtin_ia32_vec_ext_v2si ((__v2si)__i, 0);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_to_int (__m64 __i)
{
return _mm_cvtsi64_si32 (__i);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_to_int64 (__m64 __i)
{
return (long long)__i;
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtm64_si64 (__m64 __i)
{
return (long long)__i;
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_si64x (__m64 __i)
{
return (long long)__i;
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_packsswb ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_packsswb (__m64 __m1, __m64 __m2)
{
return _mm_packs_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_packssdw ((__v2si)__m1, (__v2si)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_packssdw (__m64 __m1, __m64 __m2)
{
return _mm_packs_pi32 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_pu16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_packuswb ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_packuswb (__m64 __m1, __m64 __m2)
{
return _mm_packs_pu16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpckhbw ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpckhbw (__m64 __m1, __m64 __m2)
{
return _mm_unpackhi_pi8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpckhwd ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpckhwd (__m64 __m1, __m64 __m2)
{
return _mm_unpackhi_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpckhdq ((__v2si)__m1, (__v2si)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpckhdq (__m64 __m1, __m64 __m2)
{
return _mm_unpackhi_pi32 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpcklbw ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpcklbw (__m64 __m1, __m64 __m2)
{
return _mm_unpacklo_pi8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpcklwd ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpcklwd (__m64 __m1, __m64 __m2)
{
return _mm_unpacklo_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpckldq ((__v2si)__m1, (__v2si)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpckldq (__m64 __m1, __m64 __m2)
{
return _mm_unpacklo_pi32 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddb ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddb (__m64 __m1, __m64 __m2)
{
return _mm_add_pi8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddw (__m64 __m1, __m64 __m2)
{
return _mm_add_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddd ((__v2si)__m1, (__v2si)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddd (__m64 __m1, __m64 __m2)
{
return _mm_add_pi32 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_si64 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddq ((__v1di)__m1, (__v1di)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddsb ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddsb (__m64 __m1, __m64 __m2)
{
return _mm_adds_pi8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddsw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddsw (__m64 __m1, __m64 __m2)
{
return _mm_adds_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_pu8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddusb ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddusb (__m64 __m1, __m64 __m2)
{
return _mm_adds_pu8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_pu16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddusw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddusw (__m64 __m1, __m64 __m2)
{
return _mm_adds_pu16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubb ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubb (__m64 __m1, __m64 __m2)
{
return _mm_sub_pi8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubw (__m64 __m1, __m64 __m2)
{
return _mm_sub_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubd ((__v2si)__m1, (__v2si)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubd (__m64 __m1, __m64 __m2)
{
return _mm_sub_pi32 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_si64 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubq ((__v1di)__m1, (__v1di)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubsb ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubsb (__m64 __m1, __m64 __m2)
{
return _mm_subs_pi8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubsw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubsw (__m64 __m1, __m64 __m2)
{
return _mm_subs_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_pu8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubusb ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubusb (__m64 __m1, __m64 __m2)
{
return _mm_subs_pu8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_pu16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubusw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubusw (__m64 __m1, __m64 __m2)
{
return _mm_subs_pu16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_madd_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pmaddwd ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmaddwd (__m64 __m1, __m64 __m2)
{
return _mm_madd_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhi_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pmulhw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmulhw (__m64 __m1, __m64 __m2)
{
return _mm_mulhi_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mullo_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pmullw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmullw (__m64 __m1, __m64 __m2)
{
return _mm_mullo_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_pi16 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psllw ((__v4hi)__m, (__v4hi)__count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psllw (__m64 __m, __m64 __count)
{
return _mm_sll_pi16 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_pi16 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psllwi ((__v4hi)__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psllwi (__m64 __m, int __count)
{
return _mm_slli_pi16 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_pi32 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_pslld ((__v2si)__m, (__v2si)__count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pslld (__m64 __m, __m64 __count)
{
return _mm_sll_pi32 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_pi32 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_pslldi ((__v2si)__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pslldi (__m64 __m, int __count)
{
return _mm_slli_pi32 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_si64 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psllq ((__v1di)__m, (__v1di)__count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psllq (__m64 __m, __m64 __count)
{
return _mm_sll_si64 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_si64 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psllqi ((__v1di)__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psllqi (__m64 __m, int __count)
{
return _mm_slli_si64 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_pi16 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psraw ((__v4hi)__m, (__v4hi)__count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psraw (__m64 __m, __m64 __count)
{
return _mm_sra_pi16 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_pi16 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psrawi ((__v4hi)__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrawi (__m64 __m, int __count)
{
return _mm_srai_pi16 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_pi32 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psrad ((__v2si)__m, (__v2si)__count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrad (__m64 __m, __m64 __count)
{
return _mm_sra_pi32 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_pi32 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psradi ((__v2si)__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psradi (__m64 __m, int __count)
{
return _mm_srai_pi32 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_pi16 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, (__v4hi)__count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrlw (__m64 __m, __m64 __count)
{
return _mm_srl_pi16 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_pi16 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psrlwi ((__v4hi)__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrlwi (__m64 __m, int __count)
{
return _mm_srli_pi16 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_pi32 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psrld ((__v2si)__m, (__v2si)__count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrld (__m64 __m, __m64 __count)
{
return _mm_srl_pi32 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_pi32 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psrldi ((__v2si)__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrldi (__m64 __m, int __count)
{
return _mm_srli_pi32 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_si64 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psrlq ((__v1di)__m, (__v1di)__count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrlq (__m64 __m, __m64 __count)
{
return _mm_srl_si64 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_si64 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psrlqi ((__v1di)__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrlqi (__m64 __m, int __count)
{
return _mm_srli_si64 (__m, __count);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_and_si64 (__m64 __m1, __m64 __m2)
{
return __builtin_ia32_pand (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pand (__m64 __m1, __m64 __m2)
{
return _mm_and_si64 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_andnot_si64 (__m64 __m1, __m64 __m2)
{
return __builtin_ia32_pandn (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pandn (__m64 __m1, __m64 __m2)
{
return _mm_andnot_si64 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_si64 (__m64 __m1, __m64 __m2)
{
return __builtin_ia32_por (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_por (__m64 __m1, __m64 __m2)
{
return _mm_or_si64 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_si64 (__m64 __m1, __m64 __m2)
{
return __builtin_ia32_pxor (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pxor (__m64 __m1, __m64 __m2)
{
return _mm_xor_si64 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpeqb ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpeqb (__m64 __m1, __m64 __m2)
{
return _mm_cmpeq_pi8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpgtb ((__v8qi)__m1, (__v8qi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpgtb (__m64 __m1, __m64 __m2)
{
return _mm_cmpgt_pi8 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpeqw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpeqw (__m64 __m1, __m64 __m2)
{
return _mm_cmpeq_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpgtw ((__v4hi)__m1, (__v4hi)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpgtw (__m64 __m1, __m64 __m2)
{
return _mm_cmpgt_pi16 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpeqd ((__v2si)__m1, (__v2si)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpeqd (__m64 __m1, __m64 __m2)
{
return _mm_cmpeq_pi32 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpgtd ((__v2si)__m1, (__v2si)__m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpgtd (__m64 __m1, __m64 __m2)
{
return _mm_cmpgt_pi32 (__m1, __m2);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_si64 (void)
{
return (__m64)0LL;
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi32 (int __i1, int __i0)
{
return (__m64) __builtin_ia32_vec_init_v2si (__i0, __i1);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi16 (short __w3, short __w2, short __w1, short __w0)
{
return (__m64) __builtin_ia32_vec_init_v4hi (__w0, __w1, __w2, __w3);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi8 (char __b7, char __b6, char __b5, char __b4,
char __b3, char __b2, char __b1, char __b0)
{
return (__m64) __builtin_ia32_vec_init_v8qi (__b0, __b1, __b2, __b3,
__b4, __b5, __b6, __b7);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_pi32 (int __i0, int __i1)
{
return _mm_set_pi32 (__i1, __i0);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_pi16 (short __w0, short __w1, short __w2, short __w3)
{
return _mm_set_pi16 (__w3, __w2, __w1, __w0);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_pi8 (char __b0, char __b1, char __b2, char __b3,
char __b4, char __b5, char __b6, char __b7)
{
return _mm_set_pi8 (__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_pi32 (int __i)
{
return _mm_set_pi32 (__i, __i);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_pi16 (short __w)
{
return _mm_set_pi16 (__w, __w, __w, __w);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_pi8 (char __b)
{
return _mm_set_pi8 (__b, __b, __b, __b, __b, __b, __b, __b);
}
# 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 2 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/mm_malloc.h" 1 3 4
# 27 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/mm_malloc.h" 3 4
# 1 "/usr/include/stdlib.h" 1 3 4
# 32 "/usr/include/stdlib.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 33 "/usr/include/stdlib.h" 2 3 4
extern "C" {
# 1 "/usr/include/bits/waitflags.h" 1 3 4
# 42 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/include/bits/waitstatus.h" 1 3 4
# 66 "/usr/include/bits/waitstatus.h" 3 4
union wait
{
int w_status;
struct
{
unsigned int __w_termsig:7;
unsigned int __w_coredump:1;
unsigned int __w_retcode:8;
unsigned int:16;
} __wait_terminated;
struct
{
unsigned int __w_stopval:8;
unsigned int __w_stopsig:8;
unsigned int:16;
} __wait_stopped;
};
# 43 "/usr/include/stdlib.h" 2 3 4
# 95 "/usr/include/stdlib.h" 3 4
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long int quot;
long int rem;
} ldiv_t;
__extension__ typedef struct
{
long long int quot;
long long int rem;
} lldiv_t;
# 139 "/usr/include/stdlib.h" 3 4
extern size_t __ctype_get_mb_cur_max (void) throw () ;
extern double atof (const char *__nptr)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
extern int atoi (const char *__nptr)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
extern long int atol (const char *__nptr)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
__extension__ extern long long int atoll (const char *__nptr)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
extern double strtod (const char *__restrict __nptr,
char **__restrict __endptr)
throw () __attribute__ ((__nonnull__ (1)));
extern float strtof (const char *__restrict __nptr,
char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1)));
extern long double strtold (const char *__restrict __nptr,
char **__restrict __endptr)
throw () __attribute__ ((__nonnull__ (1)));
extern long int strtol (const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw () __attribute__ ((__nonnull__ (1)));
extern unsigned long int strtoul (const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw () __attribute__ ((__nonnull__ (1)));
__extension__
extern long long int strtoq (const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw () __attribute__ ((__nonnull__ (1)));
__extension__
extern unsigned long long int strtouq (const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw () __attribute__ ((__nonnull__ (1)));
__extension__
extern long long int strtoll (const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw () __attribute__ ((__nonnull__ (1)));
__extension__
extern unsigned long long int strtoull (const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw () __attribute__ ((__nonnull__ (1)));
# 239 "/usr/include/stdlib.h" 3 4
extern long int strtol_l (const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4)));
extern unsigned long int strtoul_l (const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc)
throw () __attribute__ ((__nonnull__ (1, 4)));
__extension__
extern long long int strtoll_l (const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__locale_t __loc)
throw () __attribute__ ((__nonnull__ (1, 4)));
__extension__
extern unsigned long long int strtoull_l (const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc)
throw () __attribute__ ((__nonnull__ (1, 4)));
extern double strtod_l (const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc)
throw () __attribute__ ((__nonnull__ (1, 3)));
extern float strtof_l (const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc)
throw () __attribute__ ((__nonnull__ (1, 3)));
extern long double strtold_l (const char *__restrict __nptr,
char **__restrict __endptr,
__locale_t __loc)
throw () __attribute__ ((__nonnull__ (1, 3)));
# 305 "/usr/include/stdlib.h" 3 4
extern char *l64a (long int __n) throw () ;
extern long int a64l (const char *__s)
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
# 321 "/usr/include/stdlib.h" 3 4
extern long int random (void) throw ();
extern void srandom (unsigned int __seed) throw ();
extern char *initstate (unsigned int __seed, char *__statebuf,
size_t __statelen) throw () __attribute__ ((__nonnull__ (2)));
extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1)));
struct random_data
{
int32_t *fptr;
int32_t *rptr;
int32_t *state;
int rand_type;
int rand_deg;
int rand_sep;
int32_t *end_ptr;
};
extern int random_r (struct random_data *__restrict __buf,
int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int srandom_r (unsigned int __seed, struct random_data *__buf)
throw () __attribute__ ((__nonnull__ (2)));
extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
size_t __statelen,
struct random_data *__restrict __buf)
throw () __attribute__ ((__nonnull__ (2, 4)));
extern int setstate_r (char *__restrict __statebuf,
struct random_data *__restrict __buf)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int rand (void) throw ();
extern void srand (unsigned int __seed) throw ();
extern int rand_r (unsigned int *__seed) throw ();
extern double drand48 (void) throw ();
extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1)));
extern long int lrand48 (void) throw ();
extern long int nrand48 (unsigned short int __xsubi[3])
throw () __attribute__ ((__nonnull__ (1)));
extern long int mrand48 (void) throw ();
extern long int jrand48 (unsigned short int __xsubi[3])
throw () __attribute__ ((__nonnull__ (1)));
extern void srand48 (long int __seedval) throw ();
extern unsigned short int *seed48 (unsigned short int __seed16v[3])
throw () __attribute__ ((__nonnull__ (1)));
extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1)));
struct drand48_data
{
unsigned short int __x[3];
unsigned short int __old_x[3];
unsigned short int __c;
unsigned short int __init;
unsigned long long int __a;
};
extern int drand48_r (struct drand48_data *__restrict __buffer,
double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int erand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int lrand48_r (struct drand48_data *__restrict __buffer,
long int *__restrict __result)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int nrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
long int *__restrict __result)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int mrand48_r (struct drand48_data *__restrict __buffer,
long int *__restrict __result)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int jrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
long int *__restrict __result)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
throw () __attribute__ ((__nonnull__ (2)));
extern int seed48_r (unsigned short int __seed16v[3],
struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2)));
extern int lcong48_r (unsigned short int __param[7],
struct drand48_data *__buffer)
throw () __attribute__ ((__nonnull__ (1, 2)));
extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
extern void *calloc (size_t __nmemb, size_t __size)
throw () __attribute__ ((__malloc__)) ;
extern void *realloc (void *__ptr, size_t __size)
throw () __attribute__ ((__warn_unused_result__));
extern void free (void *__ptr) throw ();
extern void cfree (void *__ptr) throw ();
# 1 "/usr/include/alloca.h" 1 3 4
# 24 "/usr/include/alloca.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 25 "/usr/include/alloca.h" 2 3 4
extern "C" {
extern void *alloca (size_t __size) throw ();
}
# 492 "/usr/include/stdlib.h" 2 3 4
extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
throw () __attribute__ ((__nonnull__ (1))) ;
extern void *aligned_alloc (size_t __alignment, size_t __size)
throw () __attribute__ ((__malloc__, __alloc_size__ (2)));
extern void abort (void) throw () __attribute__ ((__noreturn__));
extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1)));
extern "C++" int at_quick_exit (void (*__func) (void))
throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
throw () __attribute__ ((__nonnull__ (1)));
extern void exit (int __status) throw () __attribute__ ((__noreturn__));
extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__));
extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) ;
extern char *secure_getenv (const char *__name)
throw () __attribute__ ((__nonnull__ (1))) ;
extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1)));
extern int setenv (const char *__name, const char *__value, int __replace)
throw () __attribute__ ((__nonnull__ (2)));
extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1)));
extern int clearenv (void) throw ();
# 605 "/usr/include/stdlib.h" 3 4
extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1)));
# 619 "/usr/include/stdlib.h" 3 4
extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
# 629 "/usr/include/stdlib.h" 3 4
extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
# 641 "/usr/include/stdlib.h" 3 4
extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ;
# 651 "/usr/include/stdlib.h" 3 4
extern int mkstemps64 (char *__template, int __suffixlen)
__attribute__ ((__nonnull__ (1))) ;
# 662 "/usr/include/stdlib.h" 3 4
extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ;
# 673 "/usr/include/stdlib.h" 3 4
extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
# 683 "/usr/include/stdlib.h" 3 4
extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
# 693 "/usr/include/stdlib.h" 3 4
extern int mkostemps (char *__template, int __suffixlen, int __flags)
__attribute__ ((__nonnull__ (1))) ;
# 705 "/usr/include/stdlib.h" 3 4
extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
__attribute__ ((__nonnull__ (1))) ;
extern int system (const char *__command) ;
extern char *canonicalize_file_name (const char *__name)
throw () __attribute__ ((__nonnull__ (1))) ;
# 733 "/usr/include/stdlib.h" 3 4
extern char *realpath (const char *__restrict __name,
char *__restrict __resolved) throw () ;
typedef int (*__compar_fn_t) (const void *, const void *);
typedef __compar_fn_t comparison_fn_t;
typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
extern void *bsearch (const void *__key, const void *__base,
size_t __nmemb, size_t __size, __compar_fn_t __compar)
__attribute__ ((__nonnull__ (1, 2, 5))) ;
extern void qsort (void *__base, size_t __nmemb, size_t __size,
__compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
__compar_d_fn_t __compar, void *__arg)
__attribute__ ((__nonnull__ (1, 4)));
extern int abs (int __x) throw () __attribute__ ((__const__)) ;
extern long int labs (long int __x) throw () __attribute__ ((__const__)) ;
__extension__ extern long long int llabs (long long int __x)
throw () __attribute__ ((__const__)) ;
extern div_t div (int __numer, int __denom)
throw () __attribute__ ((__const__)) ;
extern ldiv_t ldiv (long int __numer, long int __denom)
throw () __attribute__ ((__const__)) ;
__extension__ extern lldiv_t lldiv (long long int __numer,
long long int __denom)
throw () __attribute__ ((__const__)) ;
# 807 "/usr/include/stdlib.h" 3 4
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
extern char *gcvt (double __value, int __ndigit, char *__buf)
throw () __attribute__ ((__nonnull__ (3))) ;
extern char *qecvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign)
throw () __attribute__ ((__nonnull__ (3, 4))) ;
extern char *qfcvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign)
throw () __attribute__ ((__nonnull__ (3, 4))) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf)
throw () __attribute__ ((__nonnull__ (3))) ;
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign, char *__restrict __buf,
size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign, char *__restrict __buf,
size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
extern int qecvt_r (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign,
char *__restrict __buf, size_t __len)
throw () __attribute__ ((__nonnull__ (3, 4, 5)));
extern int qfcvt_r (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign,
char *__restrict __buf, size_t __len)
throw () __attribute__ ((__nonnull__ (3, 4, 5)));
extern int mblen (const char *__s, size_t __n) throw () ;
extern int mbtowc (wchar_t *__restrict __pwc,
const char *__restrict __s, size_t __n) throw () ;
extern int wctomb (char *__s, wchar_t __wchar) throw () ;
extern size_t mbstowcs (wchar_t *__restrict __pwcs,
const char *__restrict __s, size_t __n) throw ();
extern size_t wcstombs (char *__restrict __s,
const wchar_t *__restrict __pwcs, size_t __n)
throw ();
extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) ;
# 894 "/usr/include/stdlib.h" 3 4
extern int getsubopt (char **__restrict __optionp,
char *const *__restrict __tokens,
char **__restrict __valuep)
throw () __attribute__ ((__nonnull__ (1, 2, 3))) ;
extern void setkey (const char *__key) throw () __attribute__ ((__nonnull__ (1)));
extern int posix_openpt (int __oflag) ;
extern int grantpt (int __fd) throw ();
extern int unlockpt (int __fd) throw ();
extern char *ptsname (int __fd) throw () ;
extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
throw () __attribute__ ((__nonnull__ (2)));
extern int getpt (void);
extern int getloadavg (double __loadavg[], int __nelem)
throw () __attribute__ ((__nonnull__ (1)));
# 1 "/usr/include/bits/stdlib-float.h" 1 3 4
# 951 "/usr/include/stdlib.h" 2 3 4
# 963 "/usr/include/stdlib.h" 3 4
}
# 28 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/mm_malloc.h" 2 3 4
extern "C" int posix_memalign (void **, size_t, size_t) throw ();
static __inline void *
_mm_malloc (size_t size, size_t alignment)
{
void *ptr;
if (alignment == 1)
return malloc (size);
if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4))
alignment = sizeof (void *);
if (posix_memalign (&ptr, alignment, size) == 0)
return ptr;
else
return __null;
}
static __inline void
_mm_free (void * ptr)
{
free (ptr);
}
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 2 3 4
typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
typedef float __v4sf __attribute__ ((__vector_size__ (16)));
enum _mm_hint
{
_MM_HINT_T0 = 3,
_MM_HINT_T1 = 2,
_MM_HINT_T2 = 1,
_MM_HINT_NTA = 0
};
# 89 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 3 4
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_ps (void)
{
return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f };
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_addss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_subss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_mulss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_div_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_divss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sqrt_ss (__m128 __A)
{
return (__m128) __builtin_ia32_sqrtss ((__v4sf)__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp_ss (__m128 __A)
{
return (__m128) __builtin_ia32_rcpss ((__v4sf)__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt_ss (__m128 __A)
{
return (__m128) __builtin_ia32_rsqrtss ((__v4sf)__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_minss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_maxss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_addps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_subps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_mulps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_div_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_divps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sqrt_ps (__m128 __A)
{
return (__m128) __builtin_ia32_sqrtps ((__v4sf)__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp_ps (__m128 __A)
{
return (__m128) __builtin_ia32_rcpps ((__v4sf)__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt_ps (__m128 __A)
{
return (__m128) __builtin_ia32_rsqrtps ((__v4sf)__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_minps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_maxps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_and_ps (__m128 __A, __m128 __B)
{
return __builtin_ia32_andps (__A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_andnot_ps (__m128 __A, __m128 __B)
{
return __builtin_ia32_andnps (__A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_ps (__m128 __A, __m128 __B)
{
return __builtin_ia32_orps (__A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_ps (__m128 __A, __m128 __B)
{
return __builtin_ia32_xorps (__A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpeqss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpltss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpless ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf) __A,
(__v4sf)
__builtin_ia32_cmpltss ((__v4sf) __B,
(__v4sf)
__A));
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf) __A,
(__v4sf)
__builtin_ia32_cmpless ((__v4sf) __B,
(__v4sf)
__A));
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpneqss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnlt_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpnltss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnle_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpnless ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpngt_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf) __A,
(__v4sf)
__builtin_ia32_cmpnltss ((__v4sf) __B,
(__v4sf)
__A));
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnge_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf) __A,
(__v4sf)
__builtin_ia32_cmpnless ((__v4sf) __B,
(__v4sf)
__A));
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpord_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpordss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpunord_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpunordss ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpeqps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpltps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpleps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpgtps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpgeps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpneqps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnlt_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpnltps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnle_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpnleps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpngt_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpngtps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnge_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpngeps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpord_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpordps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpunord_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpunordps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comieq_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comieq ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comilt_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comilt ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comile_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comile ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comigt_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comigt ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comige_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comige ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comineq_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comineq ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomieq_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomieq ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomilt_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomilt ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomile_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomile ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomigt_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomigt ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomige_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomige ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomineq_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomineq ((__v4sf)__A, (__v4sf)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_si32 (__m128 __A)
{
return __builtin_ia32_cvtss2si ((__v4sf) __A);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvt_ss2si (__m128 __A)
{
return _mm_cvtss_si32 (__A);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_si64 (__m128 __A)
{
return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_si64x (__m128 __A)
{
return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_pi32 (__m128 __A)
{
return (__m64) __builtin_ia32_cvtps2pi ((__v4sf) __A);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvt_ps2pi (__m128 __A)
{
return _mm_cvtps_pi32 (__A);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_si32 (__m128 __A)
{
return __builtin_ia32_cvttss2si ((__v4sf) __A);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtt_ss2si (__m128 __A)
{
return _mm_cvttss_si32 (__A);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_si64 (__m128 __A)
{
return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_si64x (__m128 __A)
{
return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_pi32 (__m128 __A)
{
return (__m64) __builtin_ia32_cvttps2pi ((__v4sf) __A);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtt_ps2pi (__m128 __A)
{
return _mm_cvttps_pi32 (__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi32_ss (__m128 __A, int __B)
{
return (__m128) __builtin_ia32_cvtsi2ss ((__v4sf) __A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvt_si2ss (__m128 __A, int __B)
{
return _mm_cvtsi32_ss (__A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_ss (__m128 __A, long long __B)
{
return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64x_ss (__m128 __A, long long __B)
{
return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi32_ps (__m128 __A, __m64 __B)
{
return (__m128) __builtin_ia32_cvtpi2ps ((__v4sf) __A, (__v2si)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvt_pi2ps (__m128 __A, __m64 __B)
{
return _mm_cvtpi32_ps (__A, __B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi16_ps (__m64 __A)
{
__v4hi __sign;
__v2si __hisi, __losi;
__v4sf __zero, __ra, __rb;
__sign = __builtin_ia32_pcmpgtw ((__v4hi)0LL, (__v4hi)__A);
__losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, __sign);
__hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, __sign);
__zero = (__v4sf) _mm_setzero_ps ();
__ra = __builtin_ia32_cvtpi2ps (__zero, __losi);
__rb = __builtin_ia32_cvtpi2ps (__ra, __hisi);
return (__m128) __builtin_ia32_movlhps (__ra, __rb);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpu16_ps (__m64 __A)
{
__v2si __hisi, __losi;
__v4sf __zero, __ra, __rb;
__losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, (__v4hi)0LL);
__hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, (__v4hi)0LL);
__zero = (__v4sf) _mm_setzero_ps ();
__ra = __builtin_ia32_cvtpi2ps (__zero, __losi);
__rb = __builtin_ia32_cvtpi2ps (__ra, __hisi);
return (__m128) __builtin_ia32_movlhps (__ra, __rb);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi8_ps (__m64 __A)
{
__v8qi __sign;
__sign = __builtin_ia32_pcmpgtb ((__v8qi)0LL, (__v8qi)__A);
__A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, __sign);
return _mm_cvtpi16_ps(__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpu8_ps(__m64 __A)
{
__A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, (__v8qi)0LL);
return _mm_cvtpu16_ps(__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi32x2_ps(__m64 __A, __m64 __B)
{
__v4sf __zero = (__v4sf) _mm_setzero_ps ();
__v4sf __sfa = __builtin_ia32_cvtpi2ps (__zero, (__v2si)__A);
__v4sf __sfb = __builtin_ia32_cvtpi2ps (__sfa, (__v2si)__B);
return (__m128) __builtin_ia32_movlhps (__sfa, __sfb);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_pi16(__m128 __A)
{
__v4sf __hisf = (__v4sf)__A;
__v4sf __losf = __builtin_ia32_movhlps (__hisf, __hisf);
__v2si __hisi = __builtin_ia32_cvtps2pi (__hisf);
__v2si __losi = __builtin_ia32_cvtps2pi (__losf);
return (__m64) __builtin_ia32_packssdw (__hisi, __losi);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_pi8(__m128 __A)
{
__v4hi __tmp = (__v4hi) _mm_cvtps_pi16 (__A);
return (__m64) __builtin_ia32_packsswb (__tmp, (__v4hi)0LL);
}
# 727 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 3 4
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_unpckhps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_unpcklps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadh_pi (__m128 __A, __m64 const *__P)
{
return (__m128) __builtin_ia32_loadhps ((__v4sf)__A, (const __v2sf *)__P);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeh_pi (__m64 *__P, __m128 __A)
{
__builtin_ia32_storehps ((__v2sf *)__P, (__v4sf)__A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movehl_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movhlps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movelh_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movlhps ((__v4sf)__A, (__v4sf)__B);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadl_pi (__m128 __A, __m64 const *__P)
{
return (__m128) __builtin_ia32_loadlps ((__v4sf)__A, (const __v2sf *)__P);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storel_pi (__m64 *__P, __m128 __A)
{
__builtin_ia32_storelps ((__v2sf *)__P, (__v4sf)__A);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movemask_ps (__m128 __A)
{
return __builtin_ia32_movmskps ((__v4sf)__A);
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_getcsr (void)
{
return __builtin_ia32_stmxcsr ();
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_GET_EXCEPTION_STATE (void)
{
return _mm_getcsr() & 0x003f;
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_GET_EXCEPTION_MASK (void)
{
return _mm_getcsr() & 0x1f80;
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_GET_ROUNDING_MODE (void)
{
return _mm_getcsr() & 0x6000;
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_GET_FLUSH_ZERO_MODE (void)
{
return _mm_getcsr() & 0x8000;
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setcsr (unsigned int __I)
{
__builtin_ia32_ldmxcsr (__I);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_SET_EXCEPTION_STATE(unsigned int __mask)
{
_mm_setcsr((_mm_getcsr() & ~0x003f) | __mask);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_SET_EXCEPTION_MASK (unsigned int __mask)
{
_mm_setcsr((_mm_getcsr() & ~0x1f80) | __mask);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_SET_ROUNDING_MODE (unsigned int __mode)
{
_mm_setcsr((_mm_getcsr() & ~0x6000) | __mode);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_SET_FLUSH_ZERO_MODE (unsigned int __mode)
{
_mm_setcsr((_mm_getcsr() & ~0x8000) | __mode);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_ss (float __F)
{
return __extension__ (__m128)(__v4sf){ __F, 0.0f, 0.0f, 0.0f };
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_ps (float __F)
{
return __extension__ (__m128)(__v4sf){ __F, __F, __F, __F };
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_ps1 (float __F)
{
return _mm_set1_ps (__F);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_ss (float const *__P)
{
return _mm_set_ss (*__P);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load1_ps (float const *__P)
{
return _mm_set1_ps (*__P);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_ps1 (float const *__P)
{
return _mm_load1_ps (__P);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_ps (float const *__P)
{
return (__m128) *(__v4sf *)__P;
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadu_ps (float const *__P)
{
return (__m128) __builtin_ia32_loadups (__P);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadr_ps (float const *__P)
{
__v4sf __tmp = *(__v4sf *)__P;
return (__m128) __builtin_ia32_shufps (__tmp, __tmp, (((0) << 6) | ((1) << 4) | ((2) << 2) | (3)));
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_ps (const float __Z, const float __Y, const float __X, const float __W)
{
return __extension__ (__m128)(__v4sf){ __W, __X, __Y, __Z };
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_ps (float __Z, float __Y, float __X, float __W)
{
return __extension__ (__m128)(__v4sf){ __Z, __Y, __X, __W };
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_ss (float *__P, __m128 __A)
{
*__P = __builtin_ia32_vec_ext_v4sf ((__v4sf)__A, 0);
}
extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_f32 (__m128 __A)
{
return __builtin_ia32_vec_ext_v4sf ((__v4sf)__A, 0);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_ps (float *__P, __m128 __A)
{
*(__v4sf *)__P = (__v4sf)__A;
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_ps (float *__P, __m128 __A)
{
__builtin_ia32_storeups (__P, (__v4sf)__A);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store1_ps (float *__P, __m128 __A)
{
__v4sf __va = (__v4sf)__A;
__v4sf __tmp = __builtin_ia32_shufps (__va, __va, (((0) << 6) | ((0) << 4) | ((0) << 2) | (0)));
_mm_storeu_ps (__P, __tmp);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_ps1 (float *__P, __m128 __A)
{
_mm_store1_ps (__P, __A);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storer_ps (float *__P, __m128 __A)
{
__v4sf __va = (__v4sf)__A;
__v4sf __tmp = __builtin_ia32_shufps (__va, __va, (((0) << 6) | ((1) << 4) | ((2) << 2) | (3)));
_mm_store_ps (__P, __tmp);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_move_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf)__A, (__v4sf)__B);
}
# 1032 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 3 4
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_pi16 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pmaxsw ((__v4hi)__A, (__v4hi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmaxsw (__m64 __A, __m64 __B)
{
return _mm_max_pi16 (__A, __B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_pu8 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pmaxub ((__v8qi)__A, (__v8qi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmaxub (__m64 __A, __m64 __B)
{
return _mm_max_pu8 (__A, __B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_pi16 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pminsw ((__v4hi)__A, (__v4hi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pminsw (__m64 __A, __m64 __B)
{
return _mm_min_pi16 (__A, __B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_pu8 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pminub ((__v8qi)__A, (__v8qi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pminub (__m64 __A, __m64 __B)
{
return _mm_min_pu8 (__A, __B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movemask_pi8 (__m64 __A)
{
return __builtin_ia32_pmovmskb ((__v8qi)__A);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmovmskb (__m64 __A)
{
return _mm_movemask_pi8 (__A);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhi_pu16 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pmulhuw ((__v4hi)__A, (__v4hi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmulhuw (__m64 __A, __m64 __B)
{
return _mm_mulhi_pu16 (__A, __B);
}
# 1134 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 3 4
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskmove_si64 (__m64 __A, __m64 __N, char *__P)
{
__builtin_ia32_maskmovq ((__v8qi)__A, (__v8qi)__N, __P);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_maskmovq (__m64 __A, __m64 __N, char *__P)
{
_mm_maskmove_si64 (__A, __N, __P);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_avg_pu8 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pavgb ((__v8qi)__A, (__v8qi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pavgb (__m64 __A, __m64 __B)
{
return _mm_avg_pu8 (__A, __B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_avg_pu16 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pavgw ((__v4hi)__A, (__v4hi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pavgw (__m64 __A, __m64 __B)
{
return _mm_avg_pu16 (__A, __B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sad_pu8 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_psadbw ((__v8qi)__A, (__v8qi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psadbw (__m64 __A, __m64 __B)
{
return _mm_sad_pu8 (__A, __B);
}
# 1201 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 3 4
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_pi (__m64 *__P, __m64 __A)
{
__builtin_ia32_movntq ((unsigned long long *)__P, (unsigned long long)__A);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_ps (float *__P, __m128 __A)
{
__builtin_ia32_movntps (__P, (__v4sf)__A);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sfence (void)
{
__builtin_ia32_sfence ();
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_pause (void)
{
__asm__ __volatile__ ("rep; nop" : : );
}
# 1247 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/emmintrin.h" 1 3 4
# 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/emmintrin.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 1 3 4
# 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/emmintrin.h" 2 3 4
typedef double __v2df __attribute__ ((__vector_size__ (16)));
typedef long long __v2di __attribute__ ((__vector_size__ (16)));
typedef int __v4si __attribute__ ((__vector_size__ (16)));
typedef short __v8hi __attribute__ ((__vector_size__ (16)));
typedef char __v16qi __attribute__ ((__vector_size__ (16)));
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_sd (double __F)
{
return __extension__ (__m128d){ __F, 0.0 };
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_pd (double __F)
{
return __extension__ (__m128d){ __F, __F };
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pd1 (double __F)
{
return _mm_set1_pd (__F);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pd (double __W, double __X)
{
return __extension__ (__m128d){ __X, __W };
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_pd (double __W, double __X)
{
return __extension__ (__m128d){ __W, __X };
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_pd (void)
{
return __extension__ (__m128d){ 0.0, 0.0 };
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_move_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_pd (double const *__P)
{
return *(__m128d *)__P;
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadu_pd (double const *__P)
{
return __builtin_ia32_loadupd (__P);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load1_pd (double const *__P)
{
return _mm_set1_pd (*__P);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_sd (double const *__P)
{
return _mm_set_sd (*__P);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_pd1 (double const *__P)
{
return _mm_load1_pd (__P);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadr_pd (double const *__P)
{
__m128d __tmp = _mm_load_pd (__P);
return __builtin_ia32_shufpd (__tmp, __tmp, (((0) << 1) | (1)));
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_pd (double *__P, __m128d __A)
{
*(__m128d *)__P = __A;
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_pd (double *__P, __m128d __A)
{
__builtin_ia32_storeupd (__P, __A);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_sd (double *__P, __m128d __A)
{
*__P = __builtin_ia32_vec_ext_v2df (__A, 0);
}
extern __inline double __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_f64 (__m128d __A)
{
return __builtin_ia32_vec_ext_v2df (__A, 0);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storel_pd (double *__P, __m128d __A)
{
_mm_store_sd (__P, __A);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeh_pd (double *__P, __m128d __A)
{
*__P = __builtin_ia32_vec_ext_v2df (__A, 1);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store1_pd (double *__P, __m128d __A)
{
_mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, (((0) << 1) | (0))));
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_pd1 (double *__P, __m128d __A)
{
_mm_store1_pd (__P, __A);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storer_pd (double *__P, __m128d __A)
{
_mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, (((0) << 1) | (1))));
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi128_si32 (__m128i __A)
{
return __builtin_ia32_vec_ext_v4si ((__v4si)__A, 0);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi128_si64 (__m128i __A)
{
return __builtin_ia32_vec_ext_v2di ((__v2di)__A, 0);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi128_si64x (__m128i __A)
{
return __builtin_ia32_vec_ext_v2di ((__v2di)__A, 0);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_addpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_addsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_subpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_subsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_mulpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_mulsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_div_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_divpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_div_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_divsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sqrt_pd (__m128d __A)
{
return (__m128d)__builtin_ia32_sqrtpd ((__v2df)__A);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sqrt_sd (__m128d __A, __m128d __B)
{
__v2df __tmp = __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
return (__m128d)__builtin_ia32_sqrtsd ((__v2df)__tmp);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_minpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_minsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_maxpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_maxsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_and_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_andpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_andnot_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_andnpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_orpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_xorpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpeqpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpltpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmplepd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpgtpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpgepd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpneqpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnlt_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpnltpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnle_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpnlepd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpngt_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpngtpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnge_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpngepd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpord_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpordpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpunord_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpunordpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpeqsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpltsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmplesd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
(__v2df)
__builtin_ia32_cmpltsd ((__v2df) __B,
(__v2df)
__A));
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
(__v2df)
__builtin_ia32_cmplesd ((__v2df) __B,
(__v2df)
__A));
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpneqsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnlt_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpnltsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnle_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpnlesd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpngt_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
(__v2df)
__builtin_ia32_cmpnltsd ((__v2df) __B,
(__v2df)
__A));
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnge_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
(__v2df)
__builtin_ia32_cmpnlesd ((__v2df) __B,
(__v2df)
__A));
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpord_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpordsd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpunord_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpunordsd ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comieq_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdeq ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comilt_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdlt ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comile_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdle ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comigt_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdgt ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comige_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdge ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comineq_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdneq ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomieq_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdeq ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomilt_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdlt ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomile_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdle ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomigt_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdgt ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomige_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdge ((__v2df)__A, (__v2df)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomineq_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdneq ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi64x (long long __q1, long long __q0)
{
return __extension__ (__m128i)(__v2di){ __q0, __q1 };
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi64 (__m64 __q1, __m64 __q0)
{
return _mm_set_epi64x ((long long)__q1, (long long)__q0);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0)
{
return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi16 (short __q7, short __q6, short __q5, short __q4,
short __q3, short __q2, short __q1, short __q0)
{
return __extension__ (__m128i)(__v8hi){
__q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 };
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi8 (char __q15, char __q14, char __q13, char __q12,
char __q11, char __q10, char __q09, char __q08,
char __q07, char __q06, char __q05, char __q04,
char __q03, char __q02, char __q01, char __q00)
{
return __extension__ (__m128i)(__v16qi){
__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15
};
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi64x (long long __A)
{
return _mm_set_epi64x (__A, __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi64 (__m64 __A)
{
return _mm_set_epi64 (__A, __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi32 (int __A)
{
return _mm_set_epi32 (__A, __A, __A, __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi16 (short __A)
{
return _mm_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi8 (char __A)
{
return _mm_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_epi64 (__m64 __q0, __m64 __q1)
{
return _mm_set_epi64 (__q1, __q0);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_epi32 (int __q0, int __q1, int __q2, int __q3)
{
return _mm_set_epi32 (__q3, __q2, __q1, __q0);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_epi16 (short __q0, short __q1, short __q2, short __q3,
short __q4, short __q5, short __q6, short __q7)
{
return _mm_set_epi16 (__q7, __q6, __q5, __q4, __q3, __q2, __q1, __q0);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_epi8 (char __q00, char __q01, char __q02, char __q03,
char __q04, char __q05, char __q06, char __q07,
char __q08, char __q09, char __q10, char __q11,
char __q12, char __q13, char __q14, char __q15)
{
return _mm_set_epi8 (__q15, __q14, __q13, __q12, __q11, __q10, __q09, __q08,
__q07, __q06, __q05, __q04, __q03, __q02, __q01, __q00);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_si128 (__m128i const *__P)
{
return *__P;
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadu_si128 (__m128i const *__P)
{
return (__m128i) __builtin_ia32_loaddqu ((char const *)__P);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadl_epi64 (__m128i const *__P)
{
return _mm_set_epi64 ((__m64)0LL, *(__m64 *)__P);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_si128 (__m128i *__P, __m128i __B)
{
*__P = __B;
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_si128 (__m128i *__P, __m128i __B)
{
__builtin_ia32_storedqu ((char *)__P, (__v16qi)__B);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storel_epi64 (__m128i *__P, __m128i __B)
{
*(long long *)__P = __builtin_ia32_vec_ext_v2di ((__v2di)__B, 0);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movepi64_pi64 (__m128i __B)
{
return (__m64) __builtin_ia32_vec_ext_v2di ((__v2di)__B, 0);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movpi64_epi64 (__m64 __A)
{
return _mm_set_epi64 ((__m64)0LL, __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_move_epi64 (__m128i __A)
{
return (__m128i)__builtin_ia32_movq128 ((__v2di) __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_si128 (void)
{
return __extension__ (__m128i)(__v4si){ 0, 0, 0, 0 };
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_pd (__m128i __A)
{
return (__m128d)__builtin_ia32_cvtdq2pd ((__v4si) __A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_ps (__m128i __A)
{
return (__m128)__builtin_ia32_cvtdq2ps ((__v4si) __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_epi32 (__m128d __A)
{
return (__m128i)__builtin_ia32_cvtpd2dq ((__v2df) __A);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_pi32 (__m128d __A)
{
return (__m64)__builtin_ia32_cvtpd2pi ((__v2df) __A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_ps (__m128d __A)
{
return (__m128)__builtin_ia32_cvtpd2ps ((__v2df) __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_epi32 (__m128d __A)
{
return (__m128i)__builtin_ia32_cvttpd2dq ((__v2df) __A);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_pi32 (__m128d __A)
{
return (__m64)__builtin_ia32_cvttpd2pi ((__v2df) __A);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi32_pd (__m64 __A)
{
return (__m128d)__builtin_ia32_cvtpi2pd ((__v2si) __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_epi32 (__m128 __A)
{
return (__m128i)__builtin_ia32_cvtps2dq ((__v4sf) __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_epi32 (__m128 __A)
{
return (__m128i)__builtin_ia32_cvttps2dq ((__v4sf) __A);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_pd (__m128 __A)
{
return (__m128d)__builtin_ia32_cvtps2pd ((__v4sf) __A);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_si32 (__m128d __A)
{
return __builtin_ia32_cvtsd2si ((__v2df) __A);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_si64 (__m128d __A)
{
return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_si64x (__m128d __A)
{
return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_si32 (__m128d __A)
{
return __builtin_ia32_cvttsd2si ((__v2df) __A);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_si64 (__m128d __A)
{
return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
}
extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_si64x (__m128d __A)
{
return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_ss (__m128 __A, __m128d __B)
{
return (__m128)__builtin_ia32_cvtsd2ss ((__v4sf) __A, (__v2df) __B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi32_sd (__m128d __A, int __B)
{
return (__m128d)__builtin_ia32_cvtsi2sd ((__v2df) __A, __B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_sd (__m128d __A, long long __B)
{
return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64x_sd (__m128d __A, long long __B)
{
return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_sd (__m128d __A, __m128 __B)
{
return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B);
}
# 893 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/emmintrin.h" 3 4
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_unpckhpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_unpcklpd ((__v2df)__A, (__v2df)__B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadh_pd (__m128d __A, double const *__B)
{
return (__m128d)__builtin_ia32_loadhpd ((__v2df)__A, __B);
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadl_pd (__m128d __A, double const *__B)
{
return (__m128d)__builtin_ia32_loadlpd ((__v2df)__A, __B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movemask_pd (__m128d __A)
{
return __builtin_ia32_movmskpd ((__v2df)__A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_packsswb128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_packssdw128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packus_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_packuswb128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckhbw128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckhwd128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckhdq128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpcklbw128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpcklwd128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckldq128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpcklqdq128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddd128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddq128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddsb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddsw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddusb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_epu16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddusw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubd128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubq128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubsb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubsw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubusb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_epu16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubusw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_madd_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmaddwd128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhi_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmulhw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mullo_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmullw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_su32 (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pmuludq ((__v2si)__A, (__v2si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_epu32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmuludq128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_epi16 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psllwi128 ((__v8hi)__A, __B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_epi32 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_pslldi128 ((__v4si)__A, __B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_epi64 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psllqi128 ((__v2di)__A, __B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_epi16 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psrawi128 ((__v8hi)__A, __B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_epi32 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psradi128 ((__v4si)__A, __B);
}
# 1164 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/emmintrin.h" 3 4
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_epi16 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psrlwi128 ((__v8hi)__A, __B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_epi32 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psrldi128 ((__v4si)__A, __B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_epi64 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psrlqi128 ((__v2di)__A, __B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psllw128((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pslld128((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psllq128((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psraw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psrad128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psrlw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psrld128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psrlq128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_and_si128 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pand128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_andnot_si128 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pandn128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_si128 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_por128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_si128 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pxor128 ((__v2di)__A, (__v2di)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpeqb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpeqw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpeqd128 ((__v4si)__A, (__v4si)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpgtb128 ((__v16qi)__B, (__v16qi)__A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpgtw128 ((__v8hi)__B, (__v8hi)__A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpgtd128 ((__v4si)__B, (__v4si)__A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpgtb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpgtw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pcmpgtd128 ((__v4si)__A, (__v4si)__B);
}
# 1328 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/emmintrin.h" 3 4
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmaxsw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmaxub128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pminsw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pminub128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movemask_epi8 (__m128i __A)
{
return __builtin_ia32_pmovmskb128 ((__v16qi)__A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhi_epu16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmulhuw128 ((__v8hi)__A, (__v8hi)__B);
}
# 1391 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/emmintrin.h" 3 4
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskmoveu_si128 (__m128i __A, __m128i __B, char *__C)
{
__builtin_ia32_maskmovdqu ((__v16qi)__A, (__v16qi)__B, __C);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_avg_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pavgb128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_avg_epu16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pavgw128 ((__v8hi)__A, (__v8hi)__B);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sad_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psadbw128 ((__v16qi)__A, (__v16qi)__B);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_si32 (int *__A, int __B)
{
__builtin_ia32_movnti (__A, __B);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_si64 (long long int *__A, long long int __B)
{
__builtin_ia32_movnti64 (__A, __B);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_si128 (__m128i *__A, __m128i __B)
{
__builtin_ia32_movntdq ((__v2di *)__A, (__v2di)__B);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_pd (double *__A, __m128d __B)
{
__builtin_ia32_movntpd (__A, (__v2df)__B);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_clflush (void const *__A)
{
__builtin_ia32_clflush (__A);
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_lfence (void)
{
__builtin_ia32_lfence ();
}
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mfence (void)
{
__builtin_ia32_mfence ();
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi32_si128 (int __A)
{
return _mm_set_epi32 (0, 0, 0, __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_si128 (long long __A)
{
return _mm_set_epi64x (0, __A);
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64x_si128 (long long __A)
{
return _mm_set_epi64x (0, __A);
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castpd_ps(__m128d __A)
{
return (__m128) __A;
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castpd_si128(__m128d __A)
{
return (__m128i) __A;
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castps_pd(__m128 __A)
{
return (__m128d) __A;
}
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castps_si128(__m128 __A)
{
return (__m128i) __A;
}
extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castsi128_ps(__m128i __A)
{
return (__m128) __A;
}
extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castsi128_pd(__m128i __A)
{
return (__m128d) __A;
}
# 1248 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/xmmintrin.h" 2 3 4
# 22 "/home/btbn/Projekte/obs-studio/libobs/graphics/vec4.h" 2 3 4
extern "C" {
struct matrix4;
struct vec4 {
union {
struct {
float x, y, z, w;
};
float ptr[4];
__m128 m;
};
};
static inline void vec4_zero(struct vec4 *v)
{
v->m = _mm_setzero_ps();
}
static inline void vec4_set(struct vec4 *dst, float x, float y, float z,
float w)
{
dst->m = _mm_set_ps(w, z, y, x);
}
static inline void vec4_copy(struct vec4 *dst, const struct vec4 *v)
{
dst->m = v->m;
}
static inline void vec4_add(struct vec4 *dst, const struct vec4 *v1,
const struct vec4 *v2)
{
dst->m = _mm_add_ps(v1->m, v2->m);
}
static inline void vec4_sub(struct vec4 *dst, const struct vec4 *v1,
const struct vec4 *v2)
{
dst->m = _mm_sub_ps(v1->m, v2->m);
}
static inline void vec4_mul(struct vec4 *dst, const struct vec4 *v1,
const struct vec4 *v2)
{
dst->m = _mm_mul_ps(v1->m, v2->m);
}
static inline void vec4_div(struct vec4 *dst, const struct vec4 *v1,
const struct vec4 *v2)
{
dst->m = _mm_div_ps(v1->m, v2->m);
}
static inline void vec4_addf(struct vec4 *dst, const struct vec4 *v,
float f)
{
dst->m = _mm_add_ps(v->m, _mm_set1_ps(f));
}
static inline void vec4_subf(struct vec4 *dst, const struct vec4 *v,
float f)
{
dst->m = _mm_sub_ps(v->m, _mm_set1_ps(f));
}
static inline void vec4_mulf(struct vec4 *dst, const struct vec4 *v,
float f)
{
dst->m = _mm_mul_ps(v->m, _mm_set1_ps(f));
}
static inline void vec4_divf(struct vec4 *dst, const struct vec4 *v,
float f)
{
dst->m = _mm_div_ps(v->m, _mm_set1_ps(f));
}
static inline float vec4_dot(const struct vec4 *v1, const struct vec4 *v2)
{
struct vec4 add;
__m128 mul = _mm_mul_ps(v1->m, v2->m);
add.m = _mm_add_ps(_mm_movehl_ps(mul, mul), mul);
add.m = _mm_add_ps(((__m128) __builtin_ia32_shufps ((__v4sf)(__m128)(add.m), (__v4sf)(__m128)(add.m), (int)(0x55))), add.m);
return add.x;
}
static inline void vec4_neg(struct vec4 *dst, const struct vec4 *v)
{
dst->x = -v->x;
dst->y = -v->y;
dst->z = -v->z;
dst->w = -v->w;
}
static inline float vec4_len(const struct vec4 *v)
{
float dot_val = vec4_dot(v, v);
return (dot_val > 0.0f) ? sqrtf(dot_val) : 0.0f;
}
static inline float vec4_dist(const struct vec4 *v1, const struct vec4 *v2)
{
struct vec4 temp;
float dot_val;
vec4_sub(&temp, v1, v2);
dot_val = vec4_dot(&temp, &temp);
return (dot_val > 0.0f) ? sqrtf(dot_val) : 0.0f;
}
static inline void vec4_norm(struct vec4 *dst, const struct vec4 *v)
{
float dot_val = vec4_dot(v, v);
dst->m = (dot_val > 0.0f) ?
_mm_mul_ps(v->m, _mm_set1_ps(1.0f/sqrtf(dot_val))) :
_mm_setzero_ps();
}
static inline int vec4_close(const struct vec4 *v1, const struct vec4 *v2,
float epsilon)
{
struct vec4 test;
vec4_sub(&test, v1, v2);
return test.x < epsilon &&
test.y < epsilon &&
test.z < epsilon &&
test.w < epsilon;
}
static inline void vec4_min(struct vec4 *dst, const struct vec4 *v1,
const struct vec4 *v2)
{
dst->m = _mm_min_ps(v1->m, v2->m);
}
static inline void vec4_minf(struct vec4 *dst, const struct vec4 *v,
float f)
{
dst->m = _mm_min_ps(v->m, _mm_set1_ps(f));
}
static inline void vec4_max(struct vec4 *dst, const struct vec4 *v1,
const struct vec4 *v2)
{
dst->m = _mm_max_ps(v1->m, v2->m);
}
static inline void vec4_maxf(struct vec4 *dst, const struct vec4 *v,
float f)
{
dst->m = _mm_max_ps(v->m, _mm_set1_ps(f));
}
static inline void vec4_abs(struct vec4 *dst, const struct vec4 *v)
{
dst->x = fabsf(v->x);
dst->y = fabsf(v->y);
dst->z = fabsf(v->z);
dst->w = fabsf(v->w);
}
static inline void vec4_floor(struct vec4 *dst, const struct vec4 *v)
{
dst->x = floorf(v->x);
dst->y = floorf(v->y);
dst->z = floorf(v->z);
dst->w = floorf(v->w);
}
static inline void vec4_ceil(struct vec4 *dst, const struct vec4 *v)
{
dst->x = ceilf(v->x);
dst->y = ceilf(v->y);
dst->z = ceilf(v->z);
dst->w = ceilf(v->w);
}
static inline uint32_t vec4_to_rgba(const struct vec4 *src)
{
uint32_t val;
val = (uint32_t)((double)src->x * 255.0);
val |= (uint32_t)((double)src->y * 255.0);
val |= (uint32_t)((double)src->z * 255.0);
val |= (uint32_t)((double)src->w * 255.0);
return val;
}
static inline uint32_t vec4_to_bgra(const struct vec4 *src)
{
uint32_t val;
val = (uint32_t)((double)src->z * 255.0);
val |= (uint32_t)((double)src->y * 255.0);
val |= (uint32_t)((double)src->x * 255.0);
val |= (uint32_t)((double)src->w * 255.0);
return val;
}
static inline void vec4_from_rgba(struct vec4 *dst, uint32_t rgba)
{
dst->x = (float)((double)(rgba&0xFF) * (1.0/255.0));
rgba >>= 8;
dst->y = (float)((double)(rgba&0xFF) * (1.0/255.0));
rgba >>= 8;
dst->z = (float)((double)(rgba&0xFF) * (1.0/255.0));
rgba >>= 8;
dst->w = (float)((double)(rgba&0xFF) * (1.0/255.0));
}
static inline void vec4_from_bgra(struct vec4 *dst, uint32_t bgra)
{
dst->z = (float)((double)(bgra&0xFF) * (1.0/255.0));
bgra >>= 8;
dst->y = (float)((double)(bgra&0xFF) * (1.0/255.0));
bgra >>= 8;
dst->x = (float)((double)(bgra&0xFF) * (1.0/255.0));
bgra >>= 8;
dst->w = (float)((double)(bgra&0xFF) * (1.0/255.0));
}
void vec4_transform(struct vec4 *dst, const struct vec4 *v,
const struct matrix4 *m);
}
# 12 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/home/btbn/Projekte/obs-studio/libobs/util/platform.h" 1 3 4
# 17 "/home/btbn/Projekte/obs-studio/libobs/util/platform.h" 3 4
# 1 "/usr/include/stdio.h" 1 3 4
# 29 "/usr/include/stdio.h" 3 4
extern "C" {
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 34 "/usr/include/stdio.h" 2 3 4
# 74 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/libio.h" 1 3 4
# 32 "/usr/include/libio.h" 3 4
# 1 "/usr/include/_G_config.h" 1 3 4
# 15 "/usr/include/_G_config.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 16 "/usr/include/_G_config.h" 2 3 4
# 1 "/usr/include/wchar.h" 1 3 4
# 21 "/usr/include/_G_config.h" 2 3 4
typedef struct
{
__off_t __pos;
__mbstate_t __state;
} _G_fpos_t;
typedef struct
{
__off64_t __pos;
__mbstate_t __state;
} _G_fpos64_t;
# 33 "/usr/include/libio.h" 2 3 4
# 145 "/usr/include/libio.h" 3 4
struct _IO_jump_t; struct _IO_FILE;
# 155 "/usr/include/libio.h" 3 4
typedef void _IO_lock_t;
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
int _pos;
# 178 "/usr/include/libio.h" 3 4
};
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
# 246 "/usr/include/libio.h" 3 4
struct _IO_FILE {
int _flags;
char* _IO_read_ptr;
char* _IO_read_end;
char* _IO_read_base;
char* _IO_write_base;
char* _IO_write_ptr;
char* _IO_write_end;
char* _IO_buf_base;
char* _IO_buf_end;
char *_IO_save_base;
char *_IO_backup_base;
char *_IO_save_end;
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
int _flags2;
__off_t _old_offset;
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
_IO_lock_t *_lock;
# 294 "/usr/include/libio.h" 3 4
__off64_t _offset;
# 303 "/usr/include/libio.h" 3 4
void *__pad1;
void *__pad2;
void *__pad3;
void *__pad4;
size_t __pad5;
int _mode;
char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
};
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 339 "/usr/include/libio.h" 3 4
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf,
size_t __n);
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;
typedef struct
{
__io_read_fn *read;
__io_write_fn *write;
__io_seek_fn *seek;
__io_close_fn *close;
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;
struct _IO_cookie_file;
extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
void *__cookie, _IO_cookie_io_functions_t __fns);
extern "C" {
extern int __underflow (_IO_FILE *);
extern int __uflow (_IO_FILE *);
extern int __overflow (_IO_FILE *, int);
# 435 "/usr/include/libio.h" 3 4
extern int _IO_getc (_IO_FILE *__fp);
extern int _IO_putc (int __c, _IO_FILE *__fp);
extern int _IO_feof (_IO_FILE *__fp) throw ();
extern int _IO_ferror (_IO_FILE *__fp) throw ();
extern int _IO_peekc_locked (_IO_FILE *__fp);
extern void _IO_flockfile (_IO_FILE *) throw ();
extern void _IO_funlockfile (_IO_FILE *) throw ();
extern int _IO_ftrylockfile (_IO_FILE *) throw ();
# 465 "/usr/include/libio.h" 3 4
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
__gnuc_va_list, int *__restrict);
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
__gnuc_va_list);
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
extern void _IO_free_backup_area (_IO_FILE *) throw ();
# 527 "/usr/include/libio.h" 3 4
}
# 75 "/usr/include/stdio.h" 2 3 4
# 108 "/usr/include/stdio.h" 3 4
typedef _G_fpos_t fpos_t;
typedef _G_fpos64_t fpos64_t;
# 164 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
# 165 "/usr/include/stdio.h" 2 3 4
extern struct _IO_FILE *stdin;
extern struct _IO_FILE *stdout;
extern struct _IO_FILE *stderr;
extern int remove (const char *__filename) throw ();
extern int rename (const char *__old, const char *__new) throw ();
extern int renameat (int __oldfd, const char *__old, int __newfd,
const char *__new) throw ();
extern FILE *tmpfile (void) ;
# 205 "/usr/include/stdio.h" 3 4
extern FILE *tmpfile64 (void) ;
extern char *tmpnam (char *__s) throw () ;
extern char *tmpnam_r (char *__s) throw () ;
# 227 "/usr/include/stdio.h" 3 4
extern char *tempnam (const char *__dir, const char *__pfx)
throw () __attribute__ ((__malloc__)) ;
extern int fclose (FILE *__stream);
extern int fflush (FILE *__stream);
# 252 "/usr/include/stdio.h" 3 4
extern int fflush_unlocked (FILE *__stream);
# 262 "/usr/include/stdio.h" 3 4
extern int fcloseall (void);
extern FILE *fopen (const char *__restrict __filename,
const char *__restrict __modes) ;
extern FILE *freopen (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream) ;
# 295 "/usr/include/stdio.h" 3 4
extern FILE *fopen64 (const char *__restrict __filename,
const char *__restrict __modes) ;
extern FILE *freopen64 (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream) ;
extern FILE *fdopen (int __fd, const char *__modes) throw () ;
extern FILE *fopencookie (void *__restrict __magic_cookie,
const char *__restrict __modes,
_IO_cookie_io_functions_t __io_funcs) throw () ;
extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
throw () ;
extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () ;
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
int __modes, size_t __n) throw ();
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
size_t __size) throw ();
extern void setlinebuf (FILE *__stream) throw ();
extern int fprintf (FILE *__restrict __stream,
const char *__restrict __format, ...);
extern int printf (const char *__restrict __format, ...);
extern int sprintf (char *__restrict __s,
const char *__restrict __format, ...) throw ();
extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
__gnuc_va_list __arg);
extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
extern int vsprintf (char *__restrict __s, const char *__restrict __format,
__gnuc_va_list __arg) throw ();
extern int snprintf (char *__restrict __s, size_t __maxlen,
const char *__restrict __format, ...)
throw () __attribute__ ((__format__ (__printf__, 3, 4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
const char *__restrict __format, __gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__printf__, 3, 0)));
extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
__gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__printf__, 2, 0))) ;
extern int __asprintf (char **__restrict __ptr,
const char *__restrict __fmt, ...)
throw () __attribute__ ((__format__ (__printf__, 2, 3))) ;
extern int asprintf (char **__restrict __ptr,
const char *__restrict __fmt, ...)
throw () __attribute__ ((__format__ (__printf__, 2, 3))) ;
extern int vdprintf (int __fd, const char *__restrict __fmt,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int fscanf (FILE *__restrict __stream,
const char *__restrict __format, ...) ;
extern int scanf (const char *__restrict __format, ...) ;
extern int sscanf (const char *__restrict __s,
const char *__restrict __format, ...) throw ();
# 463 "/usr/include/stdio.h" 3 4
extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__scanf__, 2, 0))) ;
extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
__attribute__ ((__format__ (__scanf__, 1, 0))) ;
extern int vsscanf (const char *__restrict __s,
const char *__restrict __format, __gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
# 522 "/usr/include/stdio.h" 3 4
extern int fgetc (FILE *__stream);
extern int getc (FILE *__stream);
extern int getchar (void);
# 550 "/usr/include/stdio.h" 3 4
extern int getc_unlocked (FILE *__stream);
extern int getchar_unlocked (void);
# 561 "/usr/include/stdio.h" 3 4
extern int fgetc_unlocked (FILE *__stream);
extern int fputc (int __c, FILE *__stream);
extern int putc (int __c, FILE *__stream);
extern int putchar (int __c);
# 594 "/usr/include/stdio.h" 3 4
extern int fputc_unlocked (int __c, FILE *__stream);
extern int putc_unlocked (int __c, FILE *__stream);
extern int putchar_unlocked (int __c);
extern int getw (FILE *__stream);
extern int putw (int __w, FILE *__stream);
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
;
# 638 "/usr/include/stdio.h" 3 4
extern char *gets (char *__s) __attribute__ ((__deprecated__));
# 649 "/usr/include/stdio.h" 3 4
extern char *fgets_unlocked (char *__restrict __s, int __n,
FILE *__restrict __stream) ;
# 665 "/usr/include/stdio.h" 3 4
extern __ssize_t __getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) ;
extern __ssize_t getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) ;
extern __ssize_t getline (char **__restrict __lineptr,
size_t *__restrict __n,
FILE *__restrict __stream) ;
extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
extern int puts (const char *__s);
extern int ungetc (int __c, FILE *__stream);
extern size_t fread (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite (const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s);
# 726 "/usr/include/stdio.h" 3 4
extern int fputs_unlocked (const char *__restrict __s,
FILE *__restrict __stream);
# 737 "/usr/include/stdio.h" 3 4
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream);
extern int fseek (FILE *__stream, long int __off, int __whence);
extern long int ftell (FILE *__stream) ;
extern void rewind (FILE *__stream);
# 773 "/usr/include/stdio.h" 3 4
extern int fseeko (FILE *__stream, __off_t __off, int __whence);
extern __off_t ftello (FILE *__stream) ;
# 792 "/usr/include/stdio.h" 3 4
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
extern int fsetpos (FILE *__stream, const fpos_t *__pos);
# 815 "/usr/include/stdio.h" 3 4
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
extern __off64_t ftello64 (FILE *__stream) ;
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
extern void clearerr (FILE *__stream) throw ();
extern int feof (FILE *__stream) throw () ;
extern int ferror (FILE *__stream) throw () ;
extern void clearerr_unlocked (FILE *__stream) throw ();
extern int feof_unlocked (FILE *__stream) throw () ;
extern int ferror_unlocked (FILE *__stream) throw () ;
extern void perror (const char *__s);
# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
# 26 "/usr/include/bits/sys_errlist.h" 3 4
extern int sys_nerr;
extern const char *const sys_errlist[];
extern int _sys_nerr;
extern const char *const _sys_errlist[];
# 854 "/usr/include/stdio.h" 2 3 4
extern int fileno (FILE *__stream) throw () ;
extern int fileno_unlocked (FILE *__stream) throw () ;
# 873 "/usr/include/stdio.h" 3 4
extern FILE *popen (const char *__command, const char *__modes) ;
extern int pclose (FILE *__stream);
extern char *ctermid (char *__s) throw ();
extern char *cuserid (char *__s);
struct obstack;
extern int obstack_printf (struct obstack *__restrict __obstack,
const char *__restrict __format, ...)
throw () __attribute__ ((__format__ (__printf__, 2, 3)));
extern int obstack_vprintf (struct obstack *__restrict __obstack,
const char *__restrict __format,
__gnuc_va_list __args)
throw () __attribute__ ((__format__ (__printf__, 2, 0)));
extern void flockfile (FILE *__stream) throw ();
extern int ftrylockfile (FILE *__stream) throw () ;
extern void funlockfile (FILE *__stream) throw ();
# 943 "/usr/include/stdio.h" 3 4
}
# 20 "/home/btbn/Projekte/obs-studio/libobs/util/platform.h" 2 3 4
# 1 "/usr/include/wchar.h" 1 3 4
# 21 "/home/btbn/Projekte/obs-studio/libobs/util/platform.h" 2 3 4
# 30 "/home/btbn/Projekte/obs-studio/libobs/util/platform.h" 3 4
extern "C" {
FILE *os_wfopen(const wchar_t *path, const char *mode);
FILE *os_fopen(const char *path, const char *mode);
off_t os_fgetsize(FILE *file);
size_t os_fread_mbs(FILE *file, char **pstr);
size_t os_fread_utf8(FILE *file, char **pstr);
char *os_quick_read_utf8_file(const char *path);
bool os_quick_write_utf8_file(const char *path, const char *str,
size_t len, bool marker);
char *os_quick_read_mbs_file(const char *path);
bool os_quick_write_mbs_file(const char *path, const char *str,
size_t len);
size_t os_mbs_to_wcs(const char *str, size_t len, wchar_t *dst);
size_t os_utf8_to_wcs(const char *str, size_t len, wchar_t *dst);
size_t os_wcs_to_mbs(const wchar_t *str, size_t len, char *dst);
size_t os_wcs_to_utf8(const wchar_t *str, size_t len, char *dst);
size_t os_mbs_to_wcs_ptr(const char *str, size_t len, wchar_t **pstr);
size_t os_utf8_to_wcs_ptr(const char *str, size_t len, wchar_t **pstr);
size_t os_wcs_to_mbs_ptr(const wchar_t *str, size_t len, char **pstr);
size_t os_wcs_to_utf8_ptr(const wchar_t *str, size_t len, char **pstr);
size_t os_utf8_to_mbs_ptr(const char *str, size_t len, char **pstr);
size_t os_mbs_to_utf8_ptr(const char *str, size_t len, char **pstr);
void *os_dlopen(const char *path);
void *os_dlsym(void *module, const char *func);
void os_dlclose(void *module);
bool os_sleepto_ns(uint64_t time_target);
void os_sleep_ms(uint32_t duration);
uint64_t os_gettime_ns(void);
char *os_get_config_path(const char *name);
bool os_file_exists(const char *path);
int os_mkdir(const char *path);
# 92 "/home/btbn/Projekte/obs-studio/libobs/util/platform.h" 3 4
}
# 13 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.h" 1
struct XCompcapMain_private;
class XCompcapMain
{
public:
static bool init();
static void deinit();
static obs_properties_t properties(const char *locale);
static void defaults(obs_data_t settings);
XCompcapMain(obs_data_t settings, obs_source_t source);
~XCompcapMain();
void updateSettings(obs_data_t settings);
void tick(float seconds);
void render(effect_t effect);
uint32_t width();
uint32_t height();
private:
XCompcapMain_private *p;
};
# 15 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-main.cpp" 2
# 1 "/home/btbn/Projekte/obs-studio/plugins/linux-xcomposite/xcompcap-helper.h" 1
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/string" 1 3
# 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/string" 3
# 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/string" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stringfwd.h" 1 3
# 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stringfwd.h" 3
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stringfwd.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _Alloc>
class allocator;
template<class _CharT>
struct char_traits;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_string;
template<> struct char_traits<char>;
typedef basic_string<char> string;
template<> struct char_traits<wchar_t>;
typedef basic_string<wchar_t> wstring;
template<> struct char_traits<char16_t>;
template<> struct char_traits<char32_t>;
typedef basic_string<char16_t> u16string;
typedef basic_string<char32_t> u32string;
}
# 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/string" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 1 3
# 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 3
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 1 3
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 3
# 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 1 3
# 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
# 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
# 1 "/usr/include/wchar.h" 1 3 4
# 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 2 3
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
namespace std
{
using ::mbstate_t;
}
# 137 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
using ::wint_t;
using ::btowc;
using ::fgetwc;
using ::fgetws;
using ::fputwc;
using ::fputws;
using ::fwide;
using ::fwprintf;
using ::fwscanf;
using ::getwc;
using ::getwchar;
using ::mbrlen;
using ::mbrtowc;
using ::mbsinit;
using ::mbsrtowcs;
using ::putwc;
using ::putwchar;
using ::swprintf;
using ::swscanf;
using ::ungetwc;
using ::vfwprintf;
using ::vfwscanf;
using ::vswprintf;
using ::vswscanf;
using ::vwprintf;
using ::vwscanf;
using ::wcrtomb;
using ::wcscat;
using ::wcscmp;
using ::wcscoll;
using ::wcscpy;
using ::wcscspn;
using ::wcsftime;
using ::wcslen;
using ::wcsncat;
using ::wcsncmp;
using ::wcsncpy;
using ::wcsrtombs;
using ::wcsspn;
using ::wcstod;
using ::wcstof;
using ::wcstok;
using ::wcstol;
using ::wcstoul;
using ::wcsxfrm;
using ::wctob;
using ::wmemcmp;
using ::wmemcpy;
using ::wmemmove;
using ::wmemset;
using ::wprintf;
using ::wscanf;
using ::wcschr;
using ::wcspbrk;
using ::wcsrchr;
using ::wcsstr;
using ::wmemchr;
# 234 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
}
namespace __gnu_cxx
{
using ::wcstold;
# 259 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
using ::wcstoll;
using ::wcstoull;
}
namespace std
{
using ::__gnu_cxx::wcstold;
using ::__gnu_cxx::wcstoll;
using ::__gnu_cxx::wcstoull;
}
# 279 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
namespace std
{
using std::wcstof;
using std::vfwscanf;
using std::vswscanf;
using std::vwscanf;
using std::wcstold;
using std::wcstoll;
using std::wcstoull;
}
# 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 2 3
# 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 90 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 3
typedef long streamoff;
# 100 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 3
typedef ptrdiff_t streamsize;
# 113 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 3
template<typename _StateT>
class fpos
{
private:
streamoff _M_off;
_StateT _M_state;
public:
fpos()
: _M_off(0), _M_state() { }
# 135 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/postypes.h" 3
fpos(streamoff __off)
: _M_off(__off), _M_state() { }
operator streamoff() const { return _M_off; }
void
state(_StateT __st)
{ _M_state = __st; }
_StateT
state() const
{ return _M_state; }
fpos&
operator+=(streamoff __off)
{
_M_off += __off;
return *this;
}
fpos&
operator-=(streamoff __off)
{
_M_off -= __off;
return *this;
}
fpos
operator+(streamoff __off) const
{
fpos __pos(*this);
__pos += __off;
return __pos;
}
fpos
operator-(streamoff __off) const
{
fpos __pos(*this);
__pos -= __off;
return __pos;
}
streamoff
operator-(const fpos& __other) const
{ return _M_off - __other._M_off; }
};
template<typename _StateT>
inline bool
operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
{ return streamoff(__lhs) == streamoff(__rhs); }
template<typename _StateT>
inline bool
operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
{ return streamoff(__lhs) != streamoff(__rhs); }
typedef fpos<mbstate_t> streampos;
typedef fpos<mbstate_t> wstreampos;
typedef fpos<mbstate_t> u16streampos;
typedef fpos<mbstate_t> u32streampos;
}
# 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 1 3
# 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
# 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 3
# 1 "/usr/include/wchar.h" 1 3 4
# 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cwchar" 2 3
# 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 2 3
namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
# 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 3
template<typename _CharT>
struct _Char_types
{
typedef unsigned long int_type;
typedef std::streampos pos_type;
typedef std::streamoff off_type;
typedef std::mbstate_t state_type;
};
# 84 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 3
template<typename _CharT>
struct char_traits
{
typedef _CharT char_type;
typedef typename _Char_types<_CharT>::int_type int_type;
typedef typename _Char_types<_CharT>::pos_type pos_type;
typedef typename _Char_types<_CharT>::off_type off_type;
typedef typename _Char_types<_CharT>::state_type state_type;
static void
assign(char_type& __c1, const char_type& __c2)
{ __c1 = __c2; }
static constexpr bool
eq(const char_type& __c1, const char_type& __c2)
{ return __c1 == __c2; }
static constexpr bool
lt(const char_type& __c1, const char_type& __c2)
{ return __c1 < __c2; }
static int
compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
static std::size_t
length(const char_type* __s);
static const char_type*
find(const char_type* __s, std::size_t __n, const char_type& __a);
static char_type*
move(char_type* __s1, const char_type* __s2, std::size_t __n);
static char_type*
copy(char_type* __s1, const char_type* __s2, std::size_t __n);
static char_type*
assign(char_type* __s, std::size_t __n, char_type __a);
static constexpr char_type
to_char_type(const int_type& __c)
{ return static_cast<char_type>(__c); }
static constexpr int_type
to_int_type(const char_type& __c)
{ return static_cast<int_type>(__c); }
static constexpr bool
eq_int_type(const int_type& __c1, const int_type& __c2)
{ return __c1 == __c2; }
static constexpr int_type
eof()
{ return static_cast<int_type>(-1); }
static constexpr int_type
not_eof(const int_type& __c)
{ return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
};
template<typename _CharT>
int
char_traits<_CharT>::
compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
{
for (std::size_t __i = 0; __i < __n; ++__i)
if (lt(__s1[__i], __s2[__i]))
return -1;
else if (lt(__s2[__i], __s1[__i]))
return 1;
return 0;
}
template<typename _CharT>
std::size_t
char_traits<_CharT>::
length(const char_type* __p)
{
std::size_t __i = 0;
while (!eq(__p[__i], char_type()))
++__i;
return __i;
}
template<typename _CharT>
const typename char_traits<_CharT>::char_type*
char_traits<_CharT>::
find(const char_type* __s, std::size_t __n, const char_type& __a)
{
for (std::size_t __i = 0; __i < __n; ++__i)
if (eq(__s[__i], __a))
return __s + __i;
return 0;
}
template<typename _CharT>
typename char_traits<_CharT>::char_type*
char_traits<_CharT>::
move(char_type* __s1, const char_type* __s2, std::size_t __n)
{
return static_cast<_CharT*>(__builtin_memmove(__s1, __s2,
__n * sizeof(char_type)));
}
template<typename _CharT>
typename char_traits<_CharT>::char_type*
char_traits<_CharT>::
copy(char_type* __s1, const char_type* __s2, std::size_t __n)
{
std::copy(__s2, __s2 + __n, __s1);
return __s1;
}
template<typename _CharT>
typename char_traits<_CharT>::char_type*
char_traits<_CharT>::
assign(char_type* __s, std::size_t __n, char_type __a)
{
std::fill_n(__s, __n, __a);
return __s;
}
}
namespace std __attribute__ ((__visibility__ ("default")))
{
# 228 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 3
template<class _CharT>
struct char_traits : public __gnu_cxx::char_traits<_CharT>
{ };
template<>
struct char_traits<char>
{
typedef char char_type;
typedef int int_type;
typedef streampos pos_type;
typedef streamoff off_type;
typedef mbstate_t state_type;
static void
assign(char_type& __c1, const char_type& __c2) noexcept
{ __c1 = __c2; }
static constexpr bool
eq(const char_type& __c1, const char_type& __c2) noexcept
{ return __c1 == __c2; }
static constexpr bool
lt(const char_type& __c1, const char_type& __c2) noexcept
{ return __c1 < __c2; }
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{ return __builtin_memcmp(__s1, __s2, __n); }
static size_t
length(const char_type* __s)
{ return __builtin_strlen(__s); }
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{ return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n)); }
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
{ return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n)); }
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
{ return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n)); }
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
{ return static_cast<char_type*>(__builtin_memset(__s, __a, __n)); }
static constexpr char_type
to_char_type(const int_type& __c) noexcept
{ return static_cast<char_type>(__c); }
static constexpr int_type
to_int_type(const char_type& __c) noexcept
{ return static_cast<int_type>(static_cast<unsigned char>(__c)); }
static constexpr bool
eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
{ return __c1 == __c2; }
static constexpr int_type
eof() noexcept
{ return static_cast<int_type>(-1); }
static constexpr int_type
not_eof(const int_type& __c) noexcept
{ return (__c == eof()) ? 0 : __c; }
};
template<>
struct char_traits<wchar_t>
{
typedef wchar_t char_type;
typedef wint_t int_type;
typedef streamoff off_type;
typedef wstreampos pos_type;
typedef mbstate_t state_type;
static void
assign(char_type& __c1, const char_type& __c2) noexcept
{ __c1 = __c2; }
static constexpr bool
eq(const char_type& __c1, const char_type& __c2) noexcept
{ return __c1 == __c2; }
static constexpr bool
lt(const char_type& __c1, const char_type& __c2) noexcept
{ return __c1 < __c2; }
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{ return wmemcmp(__s1, __s2, __n); }
static size_t
length(const char_type* __s)
{ return wcslen(__s); }
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{ return wmemchr(__s, __a, __n); }
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
{ return wmemmove(__s1, __s2, __n); }
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
{ return wmemcpy(__s1, __s2, __n); }
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
{ return wmemset(__s, __a, __n); }
static constexpr char_type
to_char_type(const int_type& __c) noexcept
{ return char_type(__c); }
static constexpr int_type
to_int_type(const char_type& __c) noexcept
{ return int_type(__c); }
static constexpr bool
eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
{ return __c1 == __c2; }
static constexpr int_type
eof() noexcept
{ return static_cast<int_type>((0xffffffffu)); }
static constexpr int_type
not_eof(const int_type& __c) noexcept
{ return eq_int_type(__c, eof()) ? 0 : __c; }
};
}
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cstdint" 1 3
# 32 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cstdint" 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cstdint" 3
# 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cstdint" 3
namespace std
{
using ::int8_t;
using ::int16_t;
using ::int32_t;
using ::int64_t;
using ::int_fast8_t;
using ::int_fast16_t;
using ::int_fast32_t;
using ::int_fast64_t;
using ::int_least8_t;
using ::int_least16_t;
using ::int_least32_t;
using ::int_least64_t;
using ::intmax_t;
using ::intptr_t;
using ::uint8_t;
using ::uint16_t;
using ::uint32_t;
using ::uint64_t;
using ::uint_fast8_t;
using ::uint_fast16_t;
using ::uint_fast32_t;
using ::uint_fast64_t;
using ::uint_least8_t;
using ::uint_least16_t;
using ::uint_least32_t;
using ::uint_least64_t;
using ::uintmax_t;
using ::uintptr_t;
}
# 379 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/char_traits.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<>
struct char_traits<char16_t>
{
typedef char16_t char_type;
typedef uint_least16_t int_type;
typedef streamoff off_type;
typedef u16streampos pos_type;
typedef mbstate_t state_type;
static void
assign(char_type& __c1, const char_type& __c2) noexcept
{ __c1 = __c2; }
static constexpr bool
eq(const char_type& __c1, const char_type& __c2) noexcept
{ return __c1 == __c2; }
static constexpr bool
lt(const char_type& __c1, const char_type& __c2) noexcept
{ return __c1 < __c2; }
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{
for (size_t __i = 0; __i < __n; ++__i)
if (lt(__s1[__i], __s2[__i]))
return -1;
else if (lt(__s2[__i], __s1[__i]))
return 1;
return 0;
}
static size_t
length(const char_type* __s)
{
size_t __i = 0;
while (!eq(__s[__i], char_type()))
++__i;
return __i;
}
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{
for (size_t __i = 0; __i < __n; ++__i)
if (eq(__s[__i], __a))
return __s + __i;
return 0;
}
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
{
return (static_cast<char_type*>
(__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
}
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
{
return (static_cast<char_type*>
(__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
}
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
{
for (size_t __i = 0; __i < __n; ++__i)
assign(__s[__i], __a);
return __s;
}
static constexpr char_type
to_char_type(const int_type& __c) noexcept
{ return char_type(__c); }
static constexpr int_type
to_int_type(const char_type& __c) noexcept
{ return int_type(__c); }
static constexpr bool
eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
{ return __c1 == __c2; }
static constexpr int_type
eof() noexcept
{ return static_cast<int_type>(-1); }
static constexpr int_type
not_eof(const int_type& __c) noexcept
{ return eq_int_type(__c, eof()) ? 0 : __c; }
};
template<>
struct char_traits<char32_t>
{
typedef char32_t char_type;
typedef uint_least32_t int_type;
typedef streamoff off_type;
typedef u32streampos pos_type;
typedef mbstate_t state_type;
static void
assign(char_type& __c1, const char_type& __c2) noexcept
{ __c1 = __c2; }
static constexpr bool
eq(const char_type& __c1, const char_type& __c2) noexcept
{ return __c1 == __c2; }
static constexpr bool
lt(const char_type& __c1, const char_type& __c2) noexcept
{ return __c1 < __c2; }
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{
for (size_t __i = 0; __i < __n; ++__i)
if (lt(__s1[__i], __s2[__i]))
return -1;
else if (lt(__s2[__i], __s1[__i]))
return 1;
return 0;
}
static size_t
length(const char_type* __s)
{
size_t __i = 0;
while (!eq(__s[__i], char_type()))
++__i;
return __i;
}
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{
for (size_t __i = 0; __i < __n; ++__i)
if (eq(__s[__i], __a))
return __s + __i;
return 0;
}
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
{
return (static_cast<char_type*>
(__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
}
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
{
return (static_cast<char_type*>
(__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
}
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
{
for (size_t __i = 0; __i < __n; ++__i)
assign(__s[__i], __a);
return __s;
}
static constexpr char_type
to_char_type(const int_type& __c) noexcept
{ return char_type(__c); }
static constexpr int_type
to_int_type(const char_type& __c) noexcept
{ return int_type(__c); }
static constexpr bool
eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
{ return __c1 == __c2; }
static constexpr int_type
eof() noexcept
{ return static_cast<int_type>(-1); }
static constexpr int_type
not_eof(const int_type& __c) noexcept
{ return eq_int_type(__c, eof()) ? 0 : __c; }
};
}
# 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/string" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/localefwd.h" 1 3
# 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/localefwd.h" 3
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/localefwd.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 1 3
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3
# 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/clocale" 1 3
# 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/clocale" 3
# 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/clocale" 3
# 1 "/usr/include/locale.h" 1 3 4
# 29 "/usr/include/locale.h" 3 4
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/stddef.h" 1 3 4
# 30 "/usr/include/locale.h" 2 3 4
# 1 "/usr/include/bits/locale.h" 1 3 4
# 31 "/usr/include/locale.h" 2 3 4
extern "C" {
# 51 "/usr/include/locale.h" 3 4
struct lconv
{
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
char int_p_cs_precedes;
char int_p_sep_by_space;
char int_n_cs_precedes;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
# 121 "/usr/include/locale.h" 3 4
};
extern char *setlocale (int __category, const char *__locale) throw ();
extern struct lconv *localeconv (void) throw ();
# 152 "/usr/include/locale.h" 3 4
extern __locale_t newlocale (int __category_mask, const char *__locale,
__locale_t __base) throw ();
# 187 "/usr/include/locale.h" 3 4
extern __locale_t duplocale (__locale_t __dataset) throw ();
extern void freelocale (__locale_t __dataset) throw ();
extern __locale_t uselocale (__locale_t __dataset) throw ();
}
# 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/clocale" 2 3
# 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/clocale" 3
namespace std
{
using ::lconv;
using ::setlocale;
using ::localeconv;
}
# 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3
namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
extern "C" __typeof(uselocale) __uselocale;
}
namespace std __attribute__ ((__visibility__ ("default")))
{
typedef __locale_t __c_locale;
inline int
__convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
char* __out,
const int __size __attribute__ ((__unused__)),
const char* __fmt, ...)
{
__c_locale __old = __gnu_cxx::__uselocale(__cloc);
# 89 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3
__builtin_va_list __args;
__builtin_va_start(__args, __fmt);
const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
__builtin_va_end(__args);
__gnu_cxx::__uselocale(__old);
return __ret;
}
}
# 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/localefwd.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/iosfwd" 1 3
# 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/iosfwd" 3
# 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/iosfwd" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 76 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/iosfwd" 3
class ios_base;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ios;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_streambuf;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_istream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ostream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_iostream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_stringbuf;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_istringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_ostringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_stringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_filebuf;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ifstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ofstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_fstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class istreambuf_iterator;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class ostreambuf_iterator;
typedef basic_ios<char> ios;
typedef basic_streambuf<char> streambuf;
typedef basic_istream<char> istream;
typedef basic_ostream<char> ostream;
typedef basic_iostream<char> iostream;
typedef basic_stringbuf<char> stringbuf;
typedef basic_istringstream<char> istringstream;
typedef basic_ostringstream<char> ostringstream;
typedef basic_stringstream<char> stringstream;
typedef basic_filebuf<char> filebuf;
typedef basic_ifstream<char> ifstream;
typedef basic_ofstream<char> ofstream;
typedef basic_fstream<char> fstream;
typedef basic_ios<wchar_t> wios;
typedef basic_streambuf<wchar_t> wstreambuf;
typedef basic_istream<wchar_t> wistream;
typedef basic_ostream<wchar_t> wostream;
typedef basic_iostream<wchar_t> wiostream;
typedef basic_stringbuf<wchar_t> wstringbuf;
typedef basic_istringstream<wchar_t> wistringstream;
typedef basic_ostringstream<wchar_t> wostringstream;
typedef basic_stringstream<wchar_t> wstringstream;
typedef basic_filebuf<wchar_t> wfilebuf;
typedef basic_ifstream<wchar_t> wifstream;
typedef basic_ofstream<wchar_t> wofstream;
typedef basic_fstream<wchar_t> wfstream;
}
# 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/localefwd.h" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cctype" 1 3
# 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cctype" 3
# 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cctype" 3
# 1 "/usr/include/ctype.h" 1 3 4
# 29 "/usr/include/ctype.h" 3 4
extern "C" {
# 47 "/usr/include/ctype.h" 3 4
enum
{
_ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
_ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
_ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
_ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
_ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
_ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
_ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
_ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
_ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
_IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
_ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
_ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
};
# 80 "/usr/include/ctype.h" 3 4
extern const unsigned short int **__ctype_b_loc (void)
throw () __attribute__ ((__const__));
extern const __int32_t **__ctype_tolower_loc (void)
throw () __attribute__ ((__const__));
extern const __int32_t **__ctype_toupper_loc (void)
throw () __attribute__ ((__const__));
# 105 "/usr/include/ctype.h" 3 4
extern int isalnum (int) throw ();
extern int isalpha (int) throw ();
extern int iscntrl (int) throw ();
extern int isdigit (int) throw ();
extern int islower (int) throw ();
extern int isgraph (int) throw ();
extern int isprint (int) throw ();
extern int ispunct (int) throw ();
extern int isspace (int) throw ();
extern int isupper (int) throw ();
extern int isxdigit (int) throw ();
extern int tolower (int __c) throw ();
extern int toupper (int __c) throw ();
extern int isblank (int) throw ();
extern int isctype (int __c, int __mask) throw ();
extern int isascii (int __c) throw ();
extern int toascii (int __c) throw ();
extern int _toupper (int) throw ();
extern int _tolower (int) throw ();
# 272 "/usr/include/ctype.h" 3 4
extern int isalnum_l (int, __locale_t) throw ();
extern int isalpha_l (int, __locale_t) throw ();
extern int iscntrl_l (int, __locale_t) throw ();
extern int isdigit_l (int, __locale_t) throw ();
extern int islower_l (int, __locale_t) throw ();
extern int isgraph_l (int, __locale_t) throw ();
extern int isprint_l (int, __locale_t) throw ();
extern int ispunct_l (int, __locale_t) throw ();
extern int isspace_l (int, __locale_t) throw ();
extern int isupper_l (int, __locale_t) throw ();
extern int isxdigit_l (int, __locale_t) throw ();
extern int isblank_l (int, __locale_t) throw ();
extern int __tolower_l (int __c, __locale_t __l) throw ();
extern int tolower_l (int __c, __locale_t __l) throw ();
extern int __toupper_l (int __c, __locale_t __l) throw ();
extern int toupper_l (int __c, __locale_t __l) throw ();
# 348 "/usr/include/ctype.h" 3 4
}
# 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cctype" 2 3
# 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/cctype" 3
namespace std
{
using ::isalnum;
using ::isalpha;
using ::iscntrl;
using ::isdigit;
using ::isgraph;
using ::islower;
using ::isprint;
using ::ispunct;
using ::isspace;
using ::isupper;
using ::isxdigit;
using ::tolower;
using ::toupper;
}
namespace std
{
using ::isblank;
}
# 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/localefwd.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 57 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/localefwd.h" 3
class locale;
template<typename _Facet>
bool
has_facet(const locale&) throw();
template<typename _Facet>
const _Facet&
use_facet(const locale&);
template<typename _CharT>
bool
isspace(_CharT, const locale&);
template<typename _CharT>
bool
isprint(_CharT, const locale&);
template<typename _CharT>
bool
iscntrl(_CharT, const locale&);
template<typename _CharT>
bool
isupper(_CharT, const locale&);
template<typename _CharT>
bool
islower(_CharT, const locale&);
template<typename _CharT>
bool
isalpha(_CharT, const locale&);
template<typename _CharT>
bool
isdigit(_CharT, const locale&);
template<typename _CharT>
bool
ispunct(_CharT, const locale&);
template<typename _CharT>
bool
isxdigit(_CharT, const locale&);
template<typename _CharT>
bool
isalnum(_CharT, const locale&);
template<typename _CharT>
bool
isgraph(_CharT, const locale&);
template<typename _CharT>
_CharT
toupper(_CharT, const locale&);
template<typename _CharT>
_CharT
tolower(_CharT, const locale&);
class ctype_base;
template<typename _CharT>
class ctype;
template<> class ctype<char>;
template<> class ctype<wchar_t>;
template<typename _CharT>
class ctype_byname;
class codecvt_base;
template<typename _InternT, typename _ExternT, typename _StateT>
class codecvt;
template<> class codecvt<char, char, mbstate_t>;
template<> class codecvt<wchar_t, char, mbstate_t>;
template<typename _InternT, typename _ExternT, typename _StateT>
class codecvt_byname;
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class num_get;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class num_put;
template<typename _CharT> class numpunct;
template<typename _CharT> class numpunct_byname;
template<typename _CharT>
class collate;
template<typename _CharT> class
collate_byname;
class time_base;
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class time_get;
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class time_get_byname;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class time_put;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class time_put_byname;
class money_base;
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class money_get;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class money_put;
template<typename _CharT, bool _Intl = false>
class moneypunct;
template<typename _CharT, bool _Intl = false>
class moneypunct_byname;
class messages_base;
template<typename _CharT>
class messages;
template<typename _CharT>
class messages_byname;
}
# 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/string" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/ostream_insert.h" 1 3
# 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/ostream_insert.h" 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/ostream_insert.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/cxxabi_forced.h" 1 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/cxxabi_forced.h" 3
# 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/cxxabi_forced.h" 3
#pragma GCC visibility push(default)
namespace __cxxabiv1
{
class __forced_unwind
{
virtual ~__forced_unwind() throw();
virtual void __pure_dummy() = 0;
};
}
#pragma GCC visibility pop
# 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/ostream_insert.h" 2 3
namespace std __attribute__ ((__visibility__ ("default")))
{
template<typename _CharT, typename _Traits>
inline void
__ostream_write(basic_ostream<_CharT, _Traits>& __out,
const _CharT* __s, streamsize __n)
{
typedef basic_ostream<_CharT, _Traits> __ostream_type;
typedef typename __ostream_type::ios_base __ios_base;
const streamsize __put = __out.rdbuf()->sputn(__s, __n);
if (__put != __n)
__out.setstate(__ios_base::badbit);
}
template<typename _CharT, typename _Traits>
inline void
__ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
{
typedef basic_ostream<_CharT, _Traits> __ostream_type;
typedef typename __ostream_type::ios_base __ios_base;
const _CharT __c = __out.fill();
for (; __n > 0; --__n)
{
const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
if (_Traits::eq_int_type(__put, _Traits::eof()))
{
__out.setstate(__ios_base::badbit);
break;
}
}
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
__ostream_insert(basic_ostream<_CharT, _Traits>& __out,
const _CharT* __s, streamsize __n)
{
typedef basic_ostream<_CharT, _Traits> __ostream_type;
typedef typename __ostream_type::ios_base __ios_base;
typename __ostream_type::sentry __cerb(__out);
if (__cerb)
{
try
{
const streamsize __w = __out.width();
if (__w > __n)
{
const bool __left = ((__out.flags()
& __ios_base::adjustfield)
== __ios_base::left);
if (!__left)
__ostream_fill(__out, __w - __n);
if (__out.good())
__ostream_write(__out, __s, __n);
if (__left && __out.good())
__ostream_fill(__out, __w - __n);
}
else
__ostream_write(__out, __s, __n);
__out.width(0);
}
catch(__cxxabiv1::__forced_unwind&)
{
__out._M_setstate(__ios_base::badbit);
throw;
}
catch(...)
{ __out._M_setstate(__ios_base::badbit); }
}
return __out;
}
extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
extern template wostream& __ostream_insert(wostream&, const wchar_t*,
streamsize);
}
# 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/string" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 1 3
# 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 102 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 3
template<typename _Arg, typename _Result>
struct unary_function
{
typedef _Arg argument_type;
typedef _Result result_type;
};
template<typename _Arg1, typename _Arg2, typename _Result>
struct binary_function
{
typedef _Arg1 first_argument_type;
typedef _Arg2 second_argument_type;
typedef _Result result_type;
};
# 141 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 3
template<typename _Tp>
struct plus : public binary_function<_Tp, _Tp, _Tp>
{
_Tp
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x + __y; }
};
template<typename _Tp>
struct minus : public binary_function<_Tp, _Tp, _Tp>
{
_Tp
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x - __y; }
};
template<typename _Tp>
struct multiplies : public binary_function<_Tp, _Tp, _Tp>
{
_Tp
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x * __y; }
};
template<typename _Tp>
struct divides : public binary_function<_Tp, _Tp, _Tp>
{
_Tp
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x / __y; }
};
template<typename _Tp>
struct modulus : public binary_function<_Tp, _Tp, _Tp>
{
_Tp
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x % __y; }
};
template<typename _Tp>
struct negate : public unary_function<_Tp, _Tp>
{
_Tp
operator()(const _Tp& __x) const
{ return -__x; }
};
# 205 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 3
template<typename _Tp>
struct equal_to : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x == __y; }
};
template<typename _Tp>
struct not_equal_to : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x != __y; }
};
template<typename _Tp>
struct greater : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x > __y; }
};
template<typename _Tp>
struct less : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x < __y; }
};
template<typename _Tp>
struct greater_equal : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x >= __y; }
};
template<typename _Tp>
struct less_equal : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x <= __y; }
};
# 269 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 3
template<typename _Tp>
struct logical_and : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x && __y; }
};
template<typename _Tp>
struct logical_or : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x || __y; }
};
template<typename _Tp>
struct logical_not : public unary_function<_Tp, bool>
{
bool
operator()(const _Tp& __x) const
{ return !__x; }
};
template<typename _Tp>
struct bit_and : public binary_function<_Tp, _Tp, _Tp>
{
_Tp
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x & __y; }
};
template<typename _Tp>
struct bit_or : public binary_function<_Tp, _Tp, _Tp>
{
_Tp
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x | __y; }
};
template<typename _Tp>
struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
{
_Tp
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x ^ __y; }
};
# 352 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 3
template<typename _Predicate>
class unary_negate
: public unary_function<typename _Predicate::argument_type, bool>
{
protected:
_Predicate _M_pred;
public:
explicit
unary_negate(const _Predicate& __x) : _M_pred(__x) { }
bool
operator()(const typename _Predicate::argument_type& __x) const
{ return !_M_pred(__x); }
};
template<typename _Predicate>
inline unary_negate<_Predicate>
not1(const _Predicate& __pred)
{ return unary_negate<_Predicate>(__pred); }
template<typename _Predicate>
class binary_negate
: public binary_function<typename _Predicate::first_argument_type,
typename _Predicate::second_argument_type, bool>
{
protected:
_Predicate _M_pred;
public:
explicit
binary_negate(const _Predicate& __x) : _M_pred(__x) { }
bool
operator()(const typename _Predicate::first_argument_type& __x,
const typename _Predicate::second_argument_type& __y) const
{ return !_M_pred(__x, __y); }
};
template<typename _Predicate>
inline binary_negate<_Predicate>
not2(const _Predicate& __pred)
{ return binary_negate<_Predicate>(__pred); }
# 423 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 3
template<typename _Arg, typename _Result>
class pointer_to_unary_function : public unary_function<_Arg, _Result>
{
protected:
_Result (*_M_ptr)(_Arg);
public:
pointer_to_unary_function() { }
explicit
pointer_to_unary_function(_Result (*__x)(_Arg))
: _M_ptr(__x) { }
_Result
operator()(_Arg __x) const
{ return _M_ptr(__x); }
};
template<typename _Arg, typename _Result>
inline pointer_to_unary_function<_Arg, _Result>
ptr_fun(_Result (*__x)(_Arg))
{ return pointer_to_unary_function<_Arg, _Result>(__x); }
template<typename _Arg1, typename _Arg2, typename _Result>
class pointer_to_binary_function
: public binary_function<_Arg1, _Arg2, _Result>
{
protected:
_Result (*_M_ptr)(_Arg1, _Arg2);
public:
pointer_to_binary_function() { }
explicit
pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
: _M_ptr(__x) { }
_Result
operator()(_Arg1 __x, _Arg2 __y) const
{ return _M_ptr(__x, __y); }
};
template<typename _Arg1, typename _Arg2, typename _Result>
inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
ptr_fun(_Result (*__x)(_Arg1, _Arg2))
{ return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
template<typename _Tp>
struct _Identity
{
_Tp&
operator()(_Tp& __x) const
{ return __x; }
const _Tp&
operator()(const _Tp& __x) const
{ return __x; }
};
template<typename _Pair>
struct _Select1st
{
typename _Pair::first_type&
operator()(_Pair& __x) const
{ return __x.first; }
const typename _Pair::first_type&
operator()(const _Pair& __x) const
{ return __x.first; }
template<typename _Pair2>
typename _Pair2::first_type&
operator()(_Pair2& __x) const
{ return __x.first; }
template<typename _Pair2>
const typename _Pair2::first_type&
operator()(const _Pair2& __x) const
{ return __x.first; }
};
template<typename _Pair>
struct _Select2nd
{
typename _Pair::second_type&
operator()(_Pair& __x) const
{ return __x.second; }
const typename _Pair::second_type&
operator()(const _Pair& __x) const
{ return __x.second; }
};
# 551 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 3
template<typename _Ret, typename _Tp>
class mem_fun_t : public unary_function<_Tp*, _Ret>
{
public:
explicit
mem_fun_t(_Ret (_Tp::*__pf)())
: _M_f(__pf) { }
_Ret
operator()(_Tp* __p) const
{ return (__p->*_M_f)(); }
private:
_Ret (_Tp::*_M_f)();
};
template<typename _Ret, typename _Tp>
class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
{
public:
explicit
const_mem_fun_t(_Ret (_Tp::*__pf)() const)
: _M_f(__pf) { }
_Ret
operator()(const _Tp* __p) const
{ return (__p->*_M_f)(); }
private:
_Ret (_Tp::*_M_f)() const;
};
template<typename _Ret, typename _Tp>
class mem_fun_ref_t : public unary_function<_Tp, _Ret>
{
public:
explicit
mem_fun_ref_t(_Ret (_Tp::*__pf)())
: _M_f(__pf) { }
_Ret
operator()(_Tp& __r) const
{ return (__r.*_M_f)(); }
private:
_Ret (_Tp::*_M_f)();
};
template<typename _Ret, typename _Tp>
class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
{
public:
explicit
const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
: _M_f(__pf) { }
_Ret
operator()(const _Tp& __r) const
{ return (__r.*_M_f)(); }
private:
_Ret (_Tp::*_M_f)() const;
};
template<typename _Ret, typename _Tp, typename _Arg>
class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
{
public:
explicit
mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
: _M_f(__pf) { }
_Ret
operator()(_Tp* __p, _Arg __x) const
{ return (__p->*_M_f)(__x); }
private:
_Ret (_Tp::*_M_f)(_Arg);
};
template<typename _Ret, typename _Tp, typename _Arg>
class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
{
public:
explicit
const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
: _M_f(__pf) { }
_Ret
operator()(const _Tp* __p, _Arg __x) const
{ return (__p->*_M_f)(__x); }
private:
_Ret (_Tp::*_M_f)(_Arg) const;
};
template<typename _Ret, typename _Tp, typename _Arg>
class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
{
public:
explicit
mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
: _M_f(__pf) { }
_Ret
operator()(_Tp& __r, _Arg __x) const
{ return (__r.*_M_f)(__x); }
private:
_Ret (_Tp::*_M_f)(_Arg);
};
template<typename _Ret, typename _Tp, typename _Arg>
class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
{
public:
explicit
const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
: _M_f(__pf) { }
_Ret
operator()(const _Tp& __r, _Arg __x) const
{ return (__r.*_M_f)(__x); }
private:
_Ret (_Tp::*_M_f)(_Arg) const;
};
template<typename _Ret, typename _Tp>
inline mem_fun_t<_Ret, _Tp>
mem_fun(_Ret (_Tp::*__f)())
{ return mem_fun_t<_Ret, _Tp>(__f); }
template<typename _Ret, typename _Tp>
inline const_mem_fun_t<_Ret, _Tp>
mem_fun(_Ret (_Tp::*__f)() const)
{ return const_mem_fun_t<_Ret, _Tp>(__f); }
template<typename _Ret, typename _Tp>
inline mem_fun_ref_t<_Ret, _Tp>
mem_fun_ref(_Ret (_Tp::*__f)())
{ return mem_fun_ref_t<_Ret, _Tp>(__f); }
template<typename _Ret, typename _Tp>
inline const_mem_fun_ref_t<_Ret, _Tp>
mem_fun_ref(_Ret (_Tp::*__f)() const)
{ return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
template<typename _Ret, typename _Tp, typename _Arg>
inline mem_fun1_t<_Ret, _Tp, _Arg>
mem_fun(_Ret (_Tp::*__f)(_Arg))
{ return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
template<typename _Ret, typename _Tp, typename _Arg>
inline const_mem_fun1_t<_Ret, _Tp, _Arg>
mem_fun(_Ret (_Tp::*__f)(_Arg) const)
{ return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
template<typename _Ret, typename _Tp, typename _Arg>
inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
{ return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
template<typename _Ret, typename _Tp, typename _Arg>
inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
{ return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
}
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/backward/binders.h" 1 3
# 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/backward/binders.h" 3
namespace std __attribute__ ((__visibility__ ("default")))
{
# 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/backward/binders.h" 3
template<typename _Operation>
class binder1st
: public unary_function<typename _Operation::second_argument_type,
typename _Operation::result_type>
{
protected:
_Operation op;
typename _Operation::first_argument_type value;
public:
binder1st(const _Operation& __x,
const typename _Operation::first_argument_type& __y)
: op(__x), value(__y) { }
typename _Operation::result_type
operator()(const typename _Operation::second_argument_type& __x) const
{ return op(value, __x); }
typename _Operation::result_type
operator()(typename _Operation::second_argument_type& __x) const
{ return op(value, __x); }
} __attribute__ ((__deprecated__));
template<typename _Operation, typename _Tp>
inline binder1st<_Operation>
bind1st(const _Operation& __fn, const _Tp& __x)
{
typedef typename _Operation::first_argument_type _Arg1_type;
return binder1st<_Operation>(__fn, _Arg1_type(__x));
}
template<typename _Operation>
class binder2nd
: public unary_function<typename _Operation::first_argument_type,
typename _Operation::result_type>
{
protected:
_Operation op;
typename _Operation::second_argument_type value;
public:
binder2nd(const _Operation& __x,
const typename _Operation::second_argument_type& __y)
: op(__x), value(__y) { }
typename _Operation::result_type
operator()(const typename _Operation::first_argument_type& __x) const
{ return op(__x, value); }
typename _Operation::result_type
operator()(typename _Operation::first_argument_type& __x) const
{ return op(__x, value); }
} __attribute__ ((__deprecated__));
template<typename _Operation, typename _Tp>
inline binder2nd<_Operation>
bind2nd(const _Operation& __fn, const _Tp& __x)
{
typedef typename _Operation::second_argument_type _Arg2_type;
return binder2nd<_Operation>(__fn, _Arg2_type(__x));
}
}
# 742 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_function.h" 2 3
# 51 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/string" 2 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/basic_string.h" 1 3
# 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/basic_string.h" 3
# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/basic_string.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/atomicity.h" 1 3
# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/ext/atomicity.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 1 3
# 31 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 3
#pragma GCC visibility push(default)
# 150 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 3
# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 1 3
# 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
typedef pthread_t __gthread_t;
typedef pthread_key_t __gthread_key_t;
typedef pthread_once_t __gthread_once_t;
typedef pthread_mutex_t __gthread_mutex_t;
typedef pthread_mutex_t __gthread_recursive_mutex_t;
typedef pthread_cond_t __gthread_cond_t;
typedef struct timespec __gthread_time_t;
# 140 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once")));
static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific")));
static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific")));
static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create")));
static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join")));
static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal")));
static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self")));
static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach")));
static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel")));
static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield")));
static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock")));
static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock")));
static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock")));
static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock")));
static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init")));
static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy")));
static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init")));
static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast")));
static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal")));
static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait")));
static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait")));
static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy")));
static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create")));
static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete")));
static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init")));
static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype")));
static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy")));
# 258 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
static inline int
__gthread_active_p (void)
{
static void *const __gthread_active_ptr
= __extension__ (void *) &__gthrw_pthread_cancel;
return __gthread_active_ptr != 0;
}
# 677 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
static inline int
__gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
void *__args)
{
return __gthrw_pthread_create (__threadid, __null, __func, __args);
}
static inline int
__gthread_join (__gthread_t __threadid, void **__value_ptr)
{
return __gthrw_pthread_join (__threadid, __value_ptr);
}
static inline int
__gthread_detach (__gthread_t __threadid)
{
return __gthrw_pthread_detach (__threadid);
}
static inline int
__gthread_equal (__gthread_t __t1, __gthread_t __t2)
{
return __gthrw_pthread_equal (__t1, __t2);
}
static inline __gthread_t
__gthread_self (void)
{
return __gthrw_pthread_self ();
}
static inline int
__gthread_yield (void)
{
return __gthrw_sched_yield ();
}
static inline int
__gthread_once (__gthread_once_t *__once, void (*__func) (void))
{
if (__gthread_active_p ())
return __gthrw_pthread_once (__once, __func);
else
return -1;
}
static inline int
__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
{
return __gthrw_pthread_key_create (__key, __dtor);
}
static inline int
__gthread_key_delete (__gthread_key_t __key)
{
return __gthrw_pthread_key_delete (__key);
}
static inline void *
__gthread_getspecific (__gthread_key_t __key)
{
return __gthrw_pthread_getspecific (__key);
}
static inline int
__gthread_setspecific (__gthread_key_t __key, const void *__ptr)
{
return __gthrw_pthread_setspecific (__key, __ptr);
}
# 756 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
static inline int
__gthread_mutex_destroy (__gthread_mutex_t *__mutex)
{
if (__gthread_active_p ())
return __gthrw_pthread_mutex_destroy (__mutex);
else
return 0;
}
static inline int
__gthread_mutex_lock (__gthread_mutex_t *__mutex)
{
if (__gthread_active_p ())
return __gthrw_pthread_mutex_lock (__mutex);
else
return 0;
}
static inline int
__gthread_mutex_trylock (__gthread_mutex_t *__mutex)
{
if (__gthread_active_p ())
return __gthrw_pthread_mutex_trylock (__mutex);
else
return 0;
}
static inli
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment