FString optimization
This commit is contained in:
parent
8d189e9ec4
commit
3c46dad798
|
@ -230,10 +230,10 @@ void debug (const finalcut::FApplication& TermApp)
|
||||||
<< debug_data.getTermType_SecDA() << "\r\n";
|
<< debug_data.getTermType_SecDA() << "\r\n";
|
||||||
|
|
||||||
if ( ! ab_s.isEmpty() )
|
if ( ! ab_s.isEmpty() )
|
||||||
tcapString ("| The answerback String", ab_s);
|
tcapString ("| The answerback String", ab_s.c_str());
|
||||||
|
|
||||||
if ( ! sec_da.isEmpty() )
|
if ( ! sec_da.isEmpty() )
|
||||||
tcapString ("| The SecDA String", sec_da);
|
tcapString ("| The SecDA String", sec_da.c_str());
|
||||||
|
|
||||||
std::cout << "`------------------- debug -------------------\r\n";
|
std::cout << "`------------------- debug -------------------\r\n";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1021,7 +1021,7 @@ void MyDialog::cb_view (const finalcut::FMenuItem* item)
|
||||||
view->setResizeable();
|
view->setResizeable();
|
||||||
std::string line{""};
|
std::string line{""};
|
||||||
std::ifstream infile;
|
std::ifstream infile;
|
||||||
infile.open(file);
|
infile.open(file.c_str());
|
||||||
|
|
||||||
while ( ! infile.eof() && infile.good() )
|
while ( ! infile.eof() && infile.good() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -355,7 +355,7 @@ void FApplication::setDarkTheme()
|
||||||
void FApplication::setLogFile (const FString& filename)
|
void FApplication::setLogFile (const FString& filename)
|
||||||
{
|
{
|
||||||
auto& log_stream = getStartOptions().logfile_stream;
|
auto& log_stream = getStartOptions().logfile_stream;
|
||||||
log_stream.open(filename, std::ofstream::out);
|
log_stream.open(filename.c_str(), std::ofstream::out);
|
||||||
|
|
||||||
if ( log_stream.is_open() )
|
if ( log_stream.is_open() )
|
||||||
{
|
{
|
||||||
|
@ -834,10 +834,8 @@ bool FApplication::processDialogSwitchAccelerator() const
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FApplication::processAccelerator (const FWidget* const& widget) const
|
bool FApplication::processAccelerator (const FWidget* const& widget) const
|
||||||
{
|
{
|
||||||
bool accpt{false};
|
|
||||||
|
|
||||||
if ( ! widget || widget->getAcceleratorList().empty() )
|
if ( ! widget || widget->getAcceleratorList().empty() )
|
||||||
return accpt;
|
return false;
|
||||||
|
|
||||||
for (auto&& item : widget->getAcceleratorList())
|
for (auto&& item : widget->getAcceleratorList())
|
||||||
{
|
{
|
||||||
|
@ -854,15 +852,14 @@ bool FApplication::processAccelerator (const FWidget* const& widget) const
|
||||||
|
|
||||||
FAccelEvent a_ev (fc::Accelerator_Event, getFocusWidget());
|
FAccelEvent a_ev (fc::Accelerator_Event, getFocusWidget());
|
||||||
sendEvent (item.object, &a_ev);
|
sendEvent (item.object, &a_ev);
|
||||||
accpt = a_ev.isAccepted();
|
return a_ev.isAccepted();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( quit_now || app_exit_loop )
|
if ( quit_now || app_exit_loop )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return accpt;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
|
@ -476,20 +476,15 @@ bool FButtonGroup::directFocusRadioButton() const
|
||||||
if ( ! hasCheckedButton() || buttonlist.empty() )
|
if ( ! hasCheckedButton() || buttonlist.empty() )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
bool found_checked{false};
|
|
||||||
|
|
||||||
for (auto&& item : buttonlist)
|
for (auto&& item : buttonlist)
|
||||||
{
|
{
|
||||||
auto toggle_button = static_cast<FToggleButton*>(item);
|
auto toggle_button = static_cast<FToggleButton*>(item);
|
||||||
|
|
||||||
if ( toggle_button->isChecked() )
|
if ( toggle_button->isChecked() )
|
||||||
{
|
return directFocusCheckedRadioButton (toggle_button);
|
||||||
found_checked = directFocusCheckedRadioButton(toggle_button);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return found_checked;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
|
@ -790,7 +790,7 @@ void FFileDialog::cb_processActivate()
|
||||||
return ! entry.name.empty()
|
return ! entry.name.empty()
|
||||||
&& input
|
&& input
|
||||||
&& ! input.isNull()
|
&& ! input.isNull()
|
||||||
&& std::strcmp(entry.name.c_str(), input) == 0
|
&& std::strcmp(entry.name.c_str(), input.c_str()) == 0
|
||||||
&& entry.directory;
|
&& entry.directory;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
@ -1534,76 +1534,6 @@ FString operator + (const FString& s1, const FString& s2)
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString operator + (const FString& s, const wchar_t c)
|
|
||||||
{
|
|
||||||
FString tmp1{s};
|
|
||||||
wchar_t tmp2[2];
|
|
||||||
tmp2[0] = c;
|
|
||||||
tmp2[1] = L'\0';
|
|
||||||
tmp1._insert (tmp1.length, 1, tmp2);
|
|
||||||
return tmp1;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString operator + (const std::wstring& s1, const FString& s2)
|
|
||||||
{
|
|
||||||
FString tmp{s1};
|
|
||||||
tmp._insert (tmp.length, s2.length, s2.wc_str());
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString operator + (const wchar_t s1[], const FString& s2)
|
|
||||||
{
|
|
||||||
FString tmp{s1};
|
|
||||||
tmp._insert (tmp.length, s2.length, s2.wc_str());
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString operator + (const std::string& s1, const FString& s2)
|
|
||||||
{
|
|
||||||
FString tmp{s1};
|
|
||||||
tmp._insert (tmp.length, s2.length, s2.wc_str());
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString operator + (const char s1[], const FString& s2)
|
|
||||||
{
|
|
||||||
FString tmp{s1};
|
|
||||||
tmp._insert (tmp.length, s2.length, s2.wc_str());
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString operator + (const wchar_t c, const FString& s)
|
|
||||||
{
|
|
||||||
FString tmp{c};
|
|
||||||
tmp._insert (1, s.length, s.wc_str());
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString operator + (const char c, const FString& s)
|
|
||||||
{
|
|
||||||
FString tmp{c};
|
|
||||||
tmp._insert (1, s.length, s.wc_str());
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString operator + (const FString& s, const char c)
|
|
||||||
{
|
|
||||||
FString tmp1{s};
|
|
||||||
wchar_t tmp2[2];
|
|
||||||
tmp2[0] = wchar_t(c & 0xff);
|
|
||||||
tmp2[1] = L'\0';
|
|
||||||
tmp1._insert (tmp1.length, 1, tmp2);
|
|
||||||
return tmp1;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
std::ostream& operator << (std::ostream& outstr, const FString& s)
|
std::ostream& operator << (std::ostream& outstr, const FString& s)
|
||||||
{
|
{
|
||||||
|
|
|
@ -113,7 +113,10 @@ class FString
|
||||||
FString& operator << (const char);
|
FString& operator << (const char);
|
||||||
template <typename NumT
|
template <typename NumT
|
||||||
, typename std::enable_if< std::is_integral<NumT>::value
|
, typename std::enable_if< std::is_integral<NumT>::value
|
||||||
|
&& ! std::is_same<NumT, bool>::value
|
||||||
|
&& ! std::is_pointer<NumT>::value
|
||||||
|| std::is_floating_point<NumT>::value
|
|| std::is_floating_point<NumT>::value
|
||||||
|
&& ! std::is_pointer<NumT>::value
|
||||||
, int>::type = 0 >
|
, int>::type = 0 >
|
||||||
FString& operator << (const NumT);
|
FString& operator << (const NumT);
|
||||||
|
|
||||||
|
@ -157,8 +160,6 @@ class FString
|
||||||
template <typename CharT>
|
template <typename CharT>
|
||||||
bool operator > (const CharT&) const;
|
bool operator > (const CharT&) const;
|
||||||
|
|
||||||
operator const char* () const { return c_str(); }
|
|
||||||
|
|
||||||
// Accessor
|
// Accessor
|
||||||
virtual FString getClassName() const;
|
virtual FString getClassName() const;
|
||||||
|
|
||||||
|
@ -263,14 +264,6 @@ class FString
|
||||||
|
|
||||||
// Friend Non-member operator functions
|
// Friend Non-member operator functions
|
||||||
friend FString operator + (const FString&, const FString&);
|
friend FString operator + (const FString&, const FString&);
|
||||||
friend FString operator + (const FString&, const wchar_t);
|
|
||||||
friend FString operator + (const std::wstring&, const FString&);
|
|
||||||
friend FString operator + (const wchar_t[], const FString&);
|
|
||||||
friend FString operator + (const std::string&, const FString&);
|
|
||||||
friend FString operator + (const char[], const FString&);
|
|
||||||
friend FString operator + (const wchar_t, const FString&);
|
|
||||||
friend FString operator + (const char, const FString&);
|
|
||||||
friend FString operator + (const FString&, const char);
|
|
||||||
|
|
||||||
friend std::ostream& operator << (std::ostream&, const FString&);
|
friend std::ostream& operator << (std::ostream&, const FString&);
|
||||||
friend std::istream& operator >> (std::istream&, FString& s);
|
friend std::istream& operator >> (std::istream&, FString& s);
|
||||||
|
@ -283,7 +276,10 @@ class FString
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
template <typename NumT
|
template <typename NumT
|
||||||
, typename std::enable_if< std::is_integral<NumT>::value
|
, typename std::enable_if< std::is_integral<NumT>::value
|
||||||
|
&& ! std::is_same<NumT, bool>::value
|
||||||
|
&& ! std::is_pointer<NumT>::value
|
||||||
|| std::is_floating_point<NumT>::value
|
|| std::is_floating_point<NumT>::value
|
||||||
|
&& ! std::is_pointer<NumT>::value
|
||||||
, int>::type >
|
, int>::type >
|
||||||
inline FString& FString::operator << (const NumT val)
|
inline FString& FString::operator << (const NumT val)
|
||||||
{
|
{
|
||||||
|
|
|
@ -106,7 +106,7 @@ inline std::wstringbuf* FStringStream::rdbuf() const
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
inline FString FStringStream::str() const
|
inline FString FStringStream::str() const
|
||||||
{ return buffer.str(); }
|
{ return FString{buffer.str()}; }
|
||||||
|
|
||||||
|
|
||||||
// FStringStream non-member function
|
// FStringStream non-member function
|
||||||
|
|
Loading…
Reference in New Issue