syn keyword Type forall_nodes
syn keyword Type forall_edges
syn keyword Type forall_boundary_nodes
syn keyword Type forall_blocks
syn keyword Type forall_out_edges
syn keyword Type forall_in_out_edges
syn keyword Type endfor 
syn keyword Type NodeID 
syn keyword Type boundary_starting_nodes 
syn keyword Type PartitionWeightStruct 
syn keyword Type PathID 
syn keyword Type EdgeID 
syn keyword Type PartitionID 
syn keyword Type simple_move 
syn keyword Type source_target_pair 
syn keyword Type NodeWeight 
syn keyword Type EdgeWeight 
syn keyword Type Gain 
syn keyword Type pairwise_local_search 
syn keyword Type Count 
syn keyword Type EdgeRatingType
syn keyword Type EdgeWeightMeta
syn keyword Type RefineQueueData 
syn keyword Type Matching
syn keyword Type CoarseMapping
syn keyword Type NodePermutationMap 
syn keyword Type NodeID 
syn keyword Type CornerID 
syn keyword Type Corner 
syn keyword Type edge 
syn keyword Type idxtype 
syn keyword Type block_pairs 
syn keyword Type boundary_pair 
syn keyword Type edge_movements 
syn keyword Type idxtype 
syn keyword Type QuotientGraphEdges 
 

syn keyword boolean build_augmented_quotient_graph
syn keyword boolean compute_vertex_movements 
syn keyword boolean construct_local_searches_on_qgraph_edge 
syn keyword boolean get_max_vertex_weight_difference 
syn keyword boolean compute_vertex_movements_rebalance 

syn keyword boolean getUnderlyingQuotientGraph 
syn keyword boolean prepare 
syn keyword boolean getBlockWeight 
syn keyword boolean start_construction 
syn keyword boolean finish_construction 
syn keyword boolean setGraphReference 
syn keyword boolean find_shortest_path 
syn keyword boolean new_node
syn keyword boolean new_edge 
syn keyword boolean perform_augmented_move 
syn keyword boolean exigetEdgeCutsts_vmovements_of_diff
syn keyword boolean find_negative_cycle
syn keyword boolean find_random_cycle 
syn keyword boolean find_zero_weight_cycle
syn keyword boolean build_ultra_model 
syn keyword boolean handle_ultra_model_conflicts 
syn keyword boolean push_back 
syn keyword boolean resize 
syn keyword boolean deleteMin 
syn keyword boolean decreaseKey
syn keyword boolean changeKey
syn keyword boolean getKey
syn keyword boolean increaseKey
syn keyword boolean front 
syn keyword boolean pop_front 
syn keyword boolean reserve 
syn keyword boolean get_associated_vertices
syn keyword boolean exists_vmovements_of_diff 
syn keyword boolean get_gain_of_vmovements
syn keyword boolean commit_pairwise_local_search 
syn keyword boolean check_conflict 
syn keyword boolean get_associated_blocks
syn keyword boolean local_search 
syn keyword boolean getDirectedBoundary 
syn keyword boolean rebalance_fall_back 
syn keyword boolean find 
syn keyword boolean Individuum 
syn keyword boolean individuum_mis
syn keyword boolean build
syn keyword boolean perform_refinement 
syn keyword boolean Union 
syn keyword boolean perform_partitioning_recursive 
syn keyword boolean perform_recursive_partitioning 
syn keyword boolean is_maximal

syn keyword boolean perform_partitioning
syn keyword boolean Find 
syn keyword boolean begin 
syn keyword boolean end 
syn keyword boolean size 
syn keyword boolean m_aqg
syn keyword boolean m_size 
syn keyword boolean m_rank
syn keyword boolean deleteNode 
syn keyword boolean cleanup_eligible 
syn keyword boolean compute_vertex_movements_rebalance_ultra 
syn keyword boolean compute_vertex_movements_ultra_model 
syn keyword boolean directed_more_locallized_search_all_bnd 
syn keyword boolean directed_more_locallized_search 
syn keyword boolean more_locallized_search 
syn keyword boolean find_eligible_start_node 
syn keyword boolean maxValue 
syn keyword boolean maxElement
syn keyword boolean deleteMax 
syn keyword boolean minValue 
syn keyword boolean minElement 
syn keyword boolean deleteMin 
syn keyword boolean move_node
syn keyword boolean perform_simple_move
syn keyword boolean push_statistics 
syn keyword boolean reset_statistics 
syn keyword boolean empty 
syn keyword boolean insert
syn keyword boolean remove
syn keyword boolean contains
syn keyword boolean is_empty
syn keyword boolean reset
syn keyword boolean remove_random
syn keyword boolean search_should_stop 
syn keyword boolean getEdgeCut
syn keyword boolean int_ext_degree 


syn keyword Define augmented_Qgraph 
syn keyword Define G 
syn keyword Define augmented_Qgraph 
syn keyword Define augmented_Qgraph_fabric
syn keyword Define misc 
syn keyword Define color
syn keyword Define A 
syn keyword Define setPartitionIndex 
syn keyword Define setNodeWeight
syn keyword Define getPartitionIndex 
syn keyword Define getNodeWeight
syn keyword Define getEdgeWeight
syn keyword Define setEdgeWeight
syn keyword Define getEdgeTarget
syn keyword Define construct
syn keyword Define insert_node
syn keyword Define move_to_solution
syn keyword Define move_to_free
syn keyword Define move_to_non_free
syn keyword Define swap_nodes
syn keyword Define add_to_solution
syn keyword Define remove_from_solution
syn keyword Define get_solution_node
syn keyword Define get_free_node
syn keyword Define get_non_solution_node
syn keyword Define get_non_free_node
syn keyword Define get_solution_size
syn keyword Define get_free_size
syn keyword Define is_maximal
syn keyword Define get_first_edge
syn keyword Define get_tightness
syn keyword Define get_position
syn keyword Define get_partition_count 
syn keyword Define set_partition_count 
syn keyword Define get_size
syn keyword Define calculate_tightness
syn keyword Define getSecondPartitionIndex 
syn keyword Define setSecondPartitionIndex 
syn keyword Define resizeSecondPartitionIndex
syn keyword Define getNodeDegree
syn keyword Define getWeightedNodeDegree
syn keyword Define getMaxDegree
syn keyword Define getEdgeRating
syn keyword Define setEdgeRating


syn keyword Define get_first_invalid_edge
syn keyword Define getPartitionIndex 
syn keyword Define number_of_nodes 
syn keyword Define greedy_random 
syn keyword Define greedy_neg_cycle
syn keyword Define problem_factory 
syn keyword Define number_of_edges
syn keyword Define basicGraph 
syn keyword Define graphType 
syn keyword Define staticGraph 
syn keyword Define basicNode 
syn keyword Define Node 
syn keyword Define Edge 
syn keyword Define refinementNode 
syn keyword Define coarseningEdge 
syn keyword Define NodeSlot 
syn keyword Define EdgeSlot 
syn keyword Define basicEdge 

syn keyword Comment cout 
syn keyword Comment flush 
syn keyword Comment G_bar 
syn keyword Comment residualGraph 
syn keyword Comment shortest_path_problem 
syn keyword Comment Q 
syn keyword Comment Q_bar 
syn keyword Comment priority_queue 
syn keyword Comment ASSERT_EQ 
syn keyword Comment ASSERT_RANGE_EQ
syn keyword Comment ASSERT_LEQ 
syn keyword Comment ASSERT_GEQ 
syn keyword Comment ASSERT_NEQ 
syn keyword Comment ASSERT_TRUE 
syn keyword Comment PRINT 
syn keyword Comment std 
syn keyword Comment endl 
syn keyword Comment string 
syn keyword Comment vector 
syn keyword Comment unordered_map 
syn keyword Comment pair 
syn keyword Comment numeric_limits 
syn keyword Comment deque 
syn keyword Comment queue 
syn keyword Comment cur_queuqueuee 
syn keyword Comment queue_lhs
syn keyword Comment queue_rhs
syn keyword Comment stack 
syn keyword Comment exit 
syn keyword Comment single_kway_refinement_round 
syn keyword Comment cur_bnd_node 

" highlight our classes 
syn keyword Tag contraction 
syn keyword Tag path 
syn keyword Tag QueueType 
syn keyword Tag gpa_matching
syn keyword Tag path_set
syn keyword Tag multitry_kway_fm 
syn keyword Tag initial_partition_hybrid 
syn keyword Tag init
syn keyword Tag preprocess_graph
syn keyword Tag preprocess_graph_with_candidates
syn keyword Tag make_maximal
syn keyword Tag build_candidates
syn keyword Tag update_candidates
syn keyword Tag insert_candidates
syn keyword Tag build_neighbors
syn keyword Tag build_onetight
syn keyword Tag kway_simple_stop_rule 
syn keyword Tag force
syn keyword Tag force_node
syn keyword Tag simple_improvement
syn keyword Tag direct_improvement
syn keyword Tag perform_mis_search
syn keyword Tag perform_local_mis
syn keyword Tag collect_best_mis
syn keyword Tag kway_adaptive_stop_rule 
syn keyword Tag kway_graph_refinement_commons 
syn keyword Tag kway_graph_refinement_core
syn keyword Tag sparse_kway_graph_refinement 
syn keyword Tag RefinementQueueType 
syn keyword Tag matching 
syn keyword Tag addressable_pq 
syn keyword Tag maxNodeHeap 
syn keyword Tag minNodeHeap 
syn keyword Tag my_addressable_pq 
syn keyword Tag bucket_pq 
syn keyword Tag double_addressable_pq 
syn keyword Tag most_balanced_minimum_cuts 
syn keyword Tag random_matching 
syn keyword Tag strongly_connected_components 
syn keyword Tag topological_sort 
syn keyword Tag union_find 
syn keyword Tag graph_access 
syn keyword Tag mis_permutation
syn keyword Tag candidate_list
syn keyword Tag priority_queue_interface 
syn keyword Tag queue_selection_diffusion  
syn keyword Tag queue_selection_topgain_diffusion  
syn keyword Tag initial_refinement 
syn keyword Tag bipartition 
syn keyword Tag initial_partition_bipartition 
syn keyword Tag mpi_tools 
syn keyword Tag edge_cut_flow_solver 
syn keyword Tag graph_partition_assertions 
syn keyword Tag tabu_bucket_queue 
syn keyword Tag tabu_moves_queue 
syn keyword Tag construct_partition 
syn keyword Tag gal_combine
syn keyword Tag combine_intersect
syn keyword Tag combine_node_separator
syn keyword Tag combine_vertex_cover
syn keyword Tag mutate
syn keyword Tag mutate_random
syn keyword Tag bipartite_matching_algorithm 
syn keyword Tag augmented_quotient_graph
syn keyword Tag augmented_quotient_graph_internal
syn keyword Tag sparsifier
syn keyword Tag advanced_models
syn keyword Tag connected_components 
syn keyword Tag partition_snapshooter 
syn keyword Tag matrix 
syn keyword Tag normal_matrix 
syn keyword Tag tabu_search 
syn keyword Tag task_crunsher 
syn keyword Tag walshaw_mh 
syn keyword Tag graph_coloring
syn keyword Tag parallel_refinement 
syn keyword Tag graph_communication 
syn keyword Tag buffoon 
syn keyword Tag exchanger 
syn keyword Tag population 
syn keyword Tag population_mis
syn keyword Tag parallel_mh 
syn keyword Tag parallel_mh_async
syn keyword Tag evolution
syn keyword Tag diversifyer 
syn keyword Tag diversifier
syn keyword Tag graph_extractor
syn keyword Tag lgs_solver 
syn keyword Tag squeez_edge_rating_function 
syn keyword Tag kaffpa_mh 
syn keyword Tag natural_cut_flow_solver 
syn keyword Tag natural_cut_detection 
syn keyword Tag . 
syn keyword Tag << 
syn keyword Tag grow_regions_by_squeezing 
syn keyword Tag graph_hierarchy
syn keyword Tag edge_ratings 
syn keyword Tag initial_partitioning 
syn keyword Tag initial_partition_bubbling
syn keyword Tag uncoarsening 
syn keyword Tag two_way_refinement
syn keyword Tag two_way_flow_refinement
syn keyword Tag PartitionConfig 
syn keyword Tag MISConfig
syn keyword Tag cycle_search 
syn keyword Tag cycle_refinement 
syn keyword Tag ws_individuum 
syn keyword Tag individuum_mis
syn keyword Tag simple_stop_rule 
syn keyword Tag multiple_k_stop_rule 
syn keyword Tag wcycle_partitioner 
syn keyword Tag coarsening_configurator 
syn keyword Tag mixed_refinement 
syn keyword Tag boundary_bfs 
syn keyword Tag randomequal_partition_accept_rule 
syn keyword Tag initial_partitioner 
syn keyword Tag initial_mis
syn keyword Tag initial_partition_scotch 
syn keyword Tag initial_partition_metis
syn keyword Tag timer 
syn keyword Tag heavy_edge_matching 
syn keyword Tag graph_partitioner 
syn keyword Tag greedy_mis
syn keyword Tag greedy_vertex
syn keyword Tag connectifier 
syn keyword Tag coarsening 
syn keyword Tag random_functions 
syn keyword Tag two_way_fm
syn keyword Tag PartialBoundary 
syn keyword Tag complete_boundary  
syn keyword Tag refinement
syn keyword Tag quotient_graph_refinement
syn keyword Tag balancing_quotient_graph_scheduler 
syn keyword Tag kway_graph_refinement 
syn keyword Tag kway_stop_rule
syn keyword Tag vertex_moved_hashtable 
syn keyword Tag quality_metrics
syn keyword Tag graph_io 
syn keyword Tag configuration 
syn keyword Tag evaluation
syn keyword Tag refinement_pq 
syn keyword Tag refinement_priority_queue
syn keyword Tag double_precision_refinement_pq 
syn keyword Tag is_boundary_node_hashtable 
syn keyword Tag simple_quotient_graph_scheduler 
syn keyword Tag active_block_quotient_graph_scheduler 
syn keyword Tag queue_selection_strategy 
syn keyword Tag queue_selection_topgain 
syn keyword Tag sorted_heavy_edge_matching 
syn keyword Tag sorted_heavy_edge_matching_by_rating 
syn keyword Tag heavy_edge_matching_by_rating 
syn keyword Tag stop_rule 
syn keyword Tag corner_scheduler 
syn keyword Tag easy_stop_rule 
syn keyword Tag partition_accept_rule 
syn keyword Tag normal_partition_accept_rule 
syn keyword Tag quotient_graph_scheduling 
syn keyword Tag qgraph_edge_statistics
syn keyword Tag block_informations 
syn keyword Tag priority_quotient_graph_scheduler 
syn keyword Tag scheduling_priority_queue 
syn keyword Tag vertex_separator_algorithm 
syn keyword Tag vertex_separator_flow_solver
syn keyword Tag flow_solver
syn keyword Tag partition_weight_priority_queue 
syn keyword Tag partition_weight_priority_queue 

syn keyword Keyword node 
syn keyword Keyword cur_difference 
syn keyword Keyword search_to_use
syn keyword Keyword search_gain
syn keyword Keyword local_searches 
syn keyword Keyword gains 
syn keyword Keyword vertex_movements 
syn keyword Keyword block_movements 
syn keyword Keyword load_difference 
syn keyword Keyword search_num_moves


syn keyword Keyword block 
syn keyword Keyword lhs_block 
syn keyword Keyword cycle 
syn keyword Keyword pathorcycle 
syn keyword Keyword cycleorpath 
syn keyword Keyword advanced_modelling 
syn keyword Keyword m_advanced_modelling 
syn keyword Keyword augmented_fabric
syn keyword Keyword rhs_block 
syn keyword Keyword target_block 
syn keyword Keyword cycle_problem 
syn keyword Keyword scc_graph 
syn keyword Keyword INVALID_PARTITION 
syn keyword Keyword KWAY_INIT_STEPCORNERS 
syn keyword Keyword KWAY_INIT_COMPLETE
syn keyword Keyword gain 
syn keyword Keyword gain_lhs
syn keyword Keyword gain_rhs 
syn keyword Keyword max_gain 
syn keyword Keyword int_degree 
syn keyword Keyword ext_degree 
syn keyword Keyword from 
syn keyword Keyword from_boundary
syn keyword Keyword lhs_boundary
syn keyword Keyword rhs_boundary
syn keyword Keyword to_boundary 
syn keyword Keyword from_queue 
syn keyword Keyword to_queue
syn keyword Keyword to 
syn keyword Keyword target 
syn keyword Keyword source 
syn keyword Keyword part_weight_struct 
syn keyword Keyword source_path 
syn keyword Keyword target_path 
syn keyword Keyword pathset 
syn keyword Keyword matched_neighbor 
syn keyword Keyword UNDEFINED_EDGE 
syn keyword Keyword NOT_MOVED 
syn keyword Keyword writePartition 
syn keyword Keyword readPartition 
syn keyword Keyword writeGraphWeighted
syn keyword Keyword writeGraph
syn keyword Keyword writeVector 
syn keyword Keyword readVector 
syn keyword Keyword readCoordinates
syn keyword Keyword readGraphWeighted 
syn keyword Keyword readGraphDoubleWeighted 
syn keyword Keyword printGraph 
syn keyword Keyword print
syn keyword Keyword print_position
syn keyword Keyword print_tightness
syn keyword Keyword print_onetight
syn keyword Keyword print_permutation
syn keyword Keyword check_permutation
syn keyword Keyword readGraphUnweighted 
syn keyword Keyword lhs_queue 
syn keyword Keyword rhs_queue 
syn keyword Keyword readGraphUnweighted 
syn keyword Keyword lhs 
syn keyword Keyword rhs 
syn keyword Keyword lhs_part_weight
syn keyword Keyword rhs_part_weight
syn keyword Keyword max 
syn keyword Keyword min 
syn keyword Keyword source_partition 
syn keyword Keyword target_partition 
syn keyword Keyword max_number_of_swaps 
syn keyword Keyword step_limit 
syn keyword Keyword Q 
syn keyword Keyword W 

syn keyword Underlined local_degrees 
syn keyword Underlined m_local_degrees 
syn keyword Underlined cut
syn keyword Underlined best_cut 
syn keyword Underlined initial_cut 
syn keyword Underlined improvement 
syn keyword Underlined overall_improvement 
syn keyword Underlined number_of_swaps 
syn keyword Underlined commons 
syn keyword Underlined update_is_difficult 
syn keyword Underlined targets_partition 
syn keyword Underlined max_gainer 
syn keyword Underlined max_degree 
syn keyword Underlined second_partition 
syn keyword Underlined own_partition 
syn keyword Underlined e
syn keyword Underlined e_bar
syn keyword Underlined config
syn keyword Underlined partition_config 
syn keyword Underlined mis_config
syn keyword Underlined boundary 
syn keyword Underlined quotient_graph_edges 
syn keyword Underlined m_quotient_graph_edges 
syn keyword Underlined scheduler 
syn keyword Underlined node_queue 
syn keyword Underlined deepth 
syn keyword Underlined accumulated_weight 
