GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Functions
strfind.cc File Reference
#include <algorithm>
#include <deque>
#include <limits>
#include <string>
#include "oct-locbuf.h"
#include "Cell.h"
#include "ov.h"
#include "defun.h"
#include "unwind-prot.h"
#include "gripes.h"
#include "utils.h"
Include dependency graph for strfind.cc:

Go to the source code of this file.

Macros

#define ORD(ch)   static_cast<unsigned char>(ch)
 
#define TABSIZE   (std::numeric_limits<unsigned char>::max () + 1)
 

Functions

OCTAVE_EXPORT octave_value_list Fstrfind (const octave_value_list &args, int)
 
OCTAVE_EXPORT octave_value_list Fstrrep (const octave_value_list &args, int)
 
static void qs_preprocess (const Array< char > &needle, octave_idx_type *table)
 
static Array< charqs_replace (const Array< char > &str, const Array< char > &pat, const Array< char > &rep, const octave_idx_type *table, bool overlaps=true)
 
static Array< octave_idx_typeqs_search (const Array< char > &needle, const Array< char > &haystack, const octave_idx_type *table, bool overlaps=true)
 

Macro Definition Documentation

#define ORD (   ch)    static_cast<unsigned char>(ch)

Definition at line 44 of file strfind.cc.

Referenced by qs_preprocess(), and qs_search().

#define TABSIZE   (std::numeric_limits<unsigned char>::max () + 1)

Definition at line 45 of file strfind.cc.

Referenced by Fstrfind(), Fstrrep(), and qs_preprocess().

Function Documentation

OCTAVE_EXPORT octave_value_list Fstrfind ( const octave_value_list args,
int   
)
OCTAVE_EXPORT octave_value_list Fstrrep ( const octave_value_list args,
int   
)
static void qs_preprocess ( const Array< char > &  needle,
octave_idx_type table 
)
static

Definition at line 50 of file strfind.cc.

References Array< T >::data(), Array< T >::numel(), ORD, TABSIZE, and x.

Referenced by Fstrfind(), and Fstrrep().

static Array<char> qs_replace ( const Array< char > &  str,
const Array< char > &  pat,
const Array< char > &  rep,
const octave_idx_type table,
bool  overlaps = true 
)
static
static Array<octave_idx_type> qs_search ( const Array< char > &  needle,
const Array< char > &  haystack,
const octave_idx_type table,
bool  overlaps = true 
)
static

Definition at line 64 of file strfind.cc.

References Array< T >::data(), min(), Array< T >::numel(), ORD, x, and Array< T >::xelem().

Referenced by Fstrfind(), and qs_replace().