CXCursor TranslationUnit::GetCursor( const std::string &filename,
                                     int line,
                                     int column ) {
  // ASSUMES A LOCK IS ALREADY HELD ON clang_access_mutex_ AND THE TU IS VALID!
  return clang_getCursor( clang_translation_unit_,
                          GetSourceLocation( filename, line, column ) );
}
bool TranslationUnit::LocationIsInSystemHeader( const Location &location ) {
  unique_lock< mutex > lock( clang_access_mutex_ );

  if ( !clang_translation_unit_ || !location.IsValid() ) {
    return false;
  }

  return clang_Location_isInSystemHeader(
    GetSourceLocation( location.filename_,
                       location.line_number_,
                       location.column_number_ ) );
}
void UAblAbilityTargetingFilterSortByDistance::Filter(UAblAbilityContext& Context, const UAblTargetingBase& TargetBase) const
{
	FVector SourceLocation = GetSourceLocation(Context, TargetBase.GetSource());
	Context.GetMutableTargetActors().Sort(FAblAbilityActorLocationTargetSorter(SourceLocation, m_Use2DDistance, m_SortDirection.GetValue() == EAblTargetingFilterSort::AblTargetFilterSort_Ascending));
}